home *** CD-ROM | disk | FTP | other *** search
/ Aminet 44 / Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso / Aminet / demo / mag / PowerAmiga3.lha / PowerAmiga3 / ñòàòüè / AGAMisc1.txt next >
Text File  |  2001-05-11  |  49KB  |  1,164 lines

  1.                                   <B>Aga Chipset</B>
  2.                                      <B>Part 1</B>
  3.                                 (c) Zetter 2000
  4.                                 2:5025/2000.110
  5.  
  6. Çäðàâñòâóéòå,  óâàæàåìûå  ÷èòàòåëè  è  ïî÷èòàòåëè  íàøåãî æóðíàëà.  Â òðåòèé ðàç
  7. âñòðå÷àåìñÿ  ìû  ñ âàìè íà ýòèõ ñòðàíèöàõ, è ÿ õî÷ó ñêàçàòü ñïàñèáî Âàì, äîðîãèå
  8. íàøè  ÷èòàòåëè!   Ñïàñèáî çà îòçûâû è òåïëûå ñëîâà â àäðåñ ðåäàêöèè.  Ñïàñèáî çà
  9. êðèòèêó,  áåç  íåå  íåâîçìæíî  áûëî-áû  ðàçâèòèå  è  äâèæåíèå âïåðåä è, íàêîíåö,
  10. ñïàñèáî   âñåì,   êòî   ÷èòàåò   è   èçó÷àåò   ýòîò   öèêë  ñòàòåé,  ïîñâÿùåííûé
  11. ïðîãðàììèðîâàíèþ  àìèæíîãî  æåëåçà.   Ìíå  ïðèõîäèëè ïèñüìà, è ÿ õî÷ó ñêàçàòü, ÿ
  12. ðàä,  ÷òî ýòà ðàáòà ïðèíîñèò ñâîé âêëàä â ðàçâèòèå ïðîãðàììèðîâàíèÿ íà òåððèòðèè
  13. áûâøåãî  ÑÑÑÐ.   Ñïàñèáî  åùå ðàç âñåì, ïèøèòå Âàøè îòçûâû, ïîæåëàíèÿ, ìû âñåãäà
  14. ðàäû Âàøèì ïèñüìàì è ïîñûëêàì :-)
  15.  
  16. Èòàê,  ïîëíñòüþ  ðàçîáðàâøèñü  ñ  ïðîãðàììèðîâàíèåì  OSC  è ECS ÷èïñåòîâ, â ýòîì
  17. íîìåðå  ìû  íà÷íåì  ïîòèõíüêó îñâàèâàòü AGA.  Íà ñàìîì äåëå ïðîãðàììèðîâàíèå AGA
  18. íè÷óòü íå îòëè÷àåòñÿ îò ïðîãðàììèðîâàíèÿ ñòàðûõ ÷èïñåòîâ, ñòîèò òîëüêî ó÷èòûâàòü
  19. è çíàòü íîâûå îñîáåííîñòè è âîçìæíîñòè ÷èïñåòà.  Ïîýòîìó, åñëè âû ïðîïóñòèëè èëè
  20. íåäîñòàòî÷íî  ïîäðîáíî ðàçîáðàëèñü ñ ïðîãðàììèðîâàíèåì OSC è ECS, ÿ íàñòîÿòåëüíî
  21. ðåêîìåíäóþ ñäåëàòü ýòî äî íà÷àëà ÷òåíèÿ ýòîé è ïîñëåäóþùèõ ñòàòåé, ïîñêîëüêó îíè
  22. áóäóò ñòðîèòüñÿ íà îòëè÷èòåëüíûõ îñîáåííîñòÿõ AGA.
  23.  
  24.   ýòîì  íîìåðå  ïðåäñòàâëåíà  ïåðâàÿ  ÷àñòü  ñîáðàííîé  èç ðàçëè÷íûõ èñòî÷íèêîâ
  25. èíôîðìàöèè  ïî  AGA.   Ê  ÷åòâåðòîìó íîìåðó ÿ íàäåþñü çàâåðøèòü ýòîò öèêë ñòàòåé
  26. ïîëíûì  ñïèñêîì  âñåõ ðåãèñòðîâ Àìèãè ñ ïîäðîáíûì îáúÿñíåíèåì ôóíêöèé êàæäîãî èç
  27. íèõ.
  28.  
  29. À  òåïåðü, ïåðåä òåì, êàê íà÷àòü, ðàçðåøèòå ìíå ïîçäðàâèòü âñåõ âàñ ñ Íîâûì 2001
  30. Ãîäîì  è  ïîæåëàòü  â  ïåðâóþ  î÷åðåäü  ñ÷àñòüÿ  âàì  â ëè÷íîé æèçíè, çäîðîâüÿ è
  31. èñïîëíåíèÿ âñåõ ñîêðîâåííûõ æåëàíèé!
  32.  
  33.                                  <B>Ñ ÍÎÂÛÌ ÃÎÄÎÌ!</B>
  34.  
  35.                                    <U>ÑÎÄÅÐÆÀÍÈÅ</U>
  36.  
  37. îáúÿñíåíèå íîâûõ âîçìîæíîñòåé AGA
  38. ñïèñîê íîâûõ ýêðàííûõ ðåæèìîâ AGA ñ ïðèìå÷àíèÿìè
  39. ôîðìàò HAM8
  40. ðàñïîçíàâàíèå AGA (ïðèìåð)
  41. àäàïòàöèÿ êîïïåðëèñòà ê ECS
  42. ðàáîòà ñ:
  43.  áèòïëàíàìè
  44.   ñêðîëëèíã áèòïëàíîâ ïî 35ns
  45.  öâåòîâûìè ðåãèñòðàìè
  46.  êîïïåðîì (ïðèìåð)
  47.  ñïðàéòàìè:
  48.   çàäàíèå (ïðèìåð)
  49.   ïåðåìåùåíèå 35 ns
  50.   èçìåíåíèå öâåòîâ
  51.  superhires
  52.  ïåðåêëþ÷åíèå öâåòîâ
  53. VGA
  54.  hardware setup (ïðèìåð)
  55.  copper list (ïðèìåð)
  56. èñïîëüçîâàíèå ôóíêöèè allocáèòmap
  57.  
  58.                          <U>ÎÁÚßÑÍÅÍÈÅ ÍÎÂÛÕ ÎÑÎÁÅÍÍÎÑÒÅÉ</U>
  59.  
  60.                                     <U>Áèòïëàíû</U>
  61.  
  62. Òåïåðü â âàøåì ðàñïîðÿæåíèè åñòü 8 áèòïëàíîâ âìåñòî 6. Â  ðåæèìàõ  ñ  îäèíî÷íûì
  63. ïëåéôèëäîì  äîñòóïíû  256  öâåòîâ âìåñòî 64. Âñå 8 áèòïëàíîâ äîñòóïíû âî âñåõ 3
  64. ðàçðåøàþùèõ ñïîñîáíîñòÿõ.
  65.  
  66. Êàæäûé ïëåéôèëä â ðåæèìå dual-playfield ìîæåò òåïåðü èìåòü äî 4 áèòïëàíîâ.  Äëÿ
  67. êàæäîãî  ïëåéôèëäà  íåçàâèñèìî  âûáèðàåòñÿ 16-òè öâåòíûé áàíê èç 256-òè öâåòíîé
  68. òàáëèöû öâåòîâ.
  69.  
  70. Òî÷íî òàêæå, âî âñåõ 3 ðàçðåøåíèÿõ äîñòóïåí dual-playfield ðåæèì 4+4  áèòïëàíà,
  71. íî  òîëüêî ïðè âûêëþ÷åííîì äóáëèðîâàíèè ñòðîê. Â ïðîòèâíîì ñëó÷àå îáà ïëåéôèëäà
  72. ñîâìåñòíî èñïîëüçóþò îäèí è òîò æå ðåãèñòð ìîäóëÿ. Áèòû 15 - 8 ðåãèñòðà BPLCON4
  73. ñîäåðæàò 8 áèòîâûõ ìàñîê, ïîçâîëÿþùèõ îáìåíèâàòü âûâîäèìûå öâåòà îäíîé êîìàíäîé
  74. íå íàðóøàÿ ñîäåðæèìîãî öâåòîâûõ ðåãèñòðîâ.
  75.  
  76. Äâà äîïîëíèòåëüíûõ ñòàðøèõ áèòà ïîçâîëÿþò ïðîèçâîäèòü áåñøîâíîå  ñêðîëëèðîâàíèå
  77. øèðèíîé  äî  64  áèò  âî  âñåõ  ðàçðåøåíèÿõ.  Øàã ñêðîëëèðîâàíèÿ áèòïëàíà, îêíà
  78. èçîáðàæåíèÿ è ãîðèçîíòàëüíîé ïîçèöèè ñïðàéòà äîñòèã 35ns âî âñåõ ðàçðåøåíèÿõ.
  79.  
  80. Ðåãèñòð BPLCON1 ñîäåðæèò 8-ìè áèòîâîå çíà÷åíèå çàäåðæêè äëÿ êàæäîãî ïëåéôèëäà ñ
  81. øàãîì   ñêðîëëèðîâàíèÿ   35   nSec.  (1  SHRES  ïèêñåëü),  ìîæåò  ïðîèçâîäèòüñÿ
  82. ñêðîëëèðîâàíèå â 32 áèòíîì ðåæèìå. Áèòû BPAGEM è BPL32 â íîâîì  ðåãèñòðå  FMODE
  83. óïðàâëÿþò ðàçìåðîì âûáîðêè äàííûõ áèòïëàíà â BPL1DAT - BPL8DAT.
  84.  
  85. Ñòàðûé  6  áèòïëàíîâûé  ðåæèì  HAM,  ðàáîòàåò  â  ðàçðåøåíèÿõ  HIRES  è   SHRES
  86. ðàçðåøàþùèå.
  87.  
  88. Áèòû BP1-BP4 ñîäåðæàò çíà÷åíèå, ôóíêöèÿ êîòîðîãî îïðåäåëÿåòñÿ ñîäåðæèìåì áèò
  89. BP5 è BP6.
  90.  
  91.  
  92. |BP6|BP5|     RED     |    GREEN    |     BLUE    |
  93. |-------------------------------------------------|
  94. | 0 | 0 | âûáîð íîâîãî áàçîâîãî ðåãèñòðà (1 èç 16)|
  95. |-------------------------------------------------|
  96. | 0 | 1 |  çàäåðæàòü  |  çàäåðæàòü  |  èçìåíèòü   |
  97. |-------------------------------------------------|
  98. | 1 | 0 |  èçìåíèòü   |  çàäåðæàòü  |  çàäåðæàòü  |
  99. |-------------------------------------------------|
  100. | 1 | 1 |  çàäåðæàòü  |  èçìåíèòü   |  çàäåðæàòü  |
  101. ---------------------------------------------------
  102.  
  103. Ââåäåí íîâûé ðåæèì HAM. Òåïåðü  îí  èñïîëüçóåò  âñå  8  áèòïëàíîâ.  Ýòîò  ðåæèì
  104. âûçûâàåòñÿ  êîãäà ïîëå BPU ðåãèñòðà BPLCON0 ñîäåðæèò 8, è óñòàíîâëåí áèò HAMEN.
  105. Áèòïëàíû 1 è 2 èñïîëüçóþòñÿ êàê óïðàâëÿþùèå áèòû àíàëîãè÷íî áèòïëàíîì 5 è  6  â
  106. 6-òè áèòïëàíîâîì ðåæèìå HAM.
  107.  
  108.  
  109. |BP2|BP1|     RED     |    GREEN    |   BLUE      |
  110. |-------------------------------------------------|
  111. | 0 | 1 | âûáîð íîâîãî áàçîâîãî ðåãèñòðà (1 èç 64)|
  112. |-------------------------------------------------|
  113. | 0 | 1 |  çàäåðæàòü  |  çàäåðæàòü  |  èçìåíèòü   |
  114. |-------------------------------------------------|
  115. | 1 | 0 |  èçìåíèòü   |  çàäåðæàòü  |  çàäåðæàòü  |
  116. |-------------------------------------------------|
  117. | 1 | 1 |  çàäåðæàòü  |  èçìåíèòü   |  çàäåðæàòü  |
  118. ---------------------------------------------------
  119.  
  120. Òàê êàê òîëüêî 6 áèòïëàíîâ äîñòóïíû äëÿ èçìåíåíèÿ äàííûõ, äàííûå ðàçìåùàþòñÿ  â
  121. 6  MSB.  2  LSB îñòàâëåíû íåìîäèôèöèðîâàííûìè, ÷òî ïîçâîëÿåò ÷òî ïîëó÷åíèå âñåõ
  122. 16,777,216  öâåòîâ  îäíîâðåìåííî,  èñïîëüçóÿ   äîñòàòî÷íî   áîëüøîé   ýêðàí   è
  123. ðàññóäèòåëüíûé âûáîð áàçîâûõ ðåãèñòðîâ. Ýòîò ðåæèì HAM ðàáîòàåò òàêæå â ðåæèìàõ
  124. HIRES è SHRES.
  125.  
  126. Ñ  öåëüþ  ñîâìåñòèìîñòè  ðåæèì  EHB  îñòàëñÿ  íåèçìåíåííûì.  Åãî  ñóùåñòâîâàíèå
  127. ñïîðíîå,  ïîñêîëüêó  ìû  èìååì áîëåå ÷åì äîñòàòî÷íî öâåòîâ, ÷òîáû çàìåíèòü ýòîò
  128. ðåæèì ïî ôóíêöèîíàëüíîñòè. Êàê è ïðåæäå, EHB âûçûâàåòñÿ êîãäà SHRES =  HIRES  =
  129. HAMEN  =  DPF  =  0  È  BPU  = 6. Îáðàòèòå âíèìàíèå, ÷òî íà÷èíàÿ ñ ECS DENISE â
  130. ðåãèñòðå BPLCON2 èìååòñÿ áèò KILLEHB, êîòîðûé îòêëþ÷àåò ýòîò ðåæèì.
  131.  
  132. Áèòû PF2OF2,1,0 â  ðåãèñòðå  BPLCON3  îïðåäåëÿþò  ñìåùåíèå  öâåòîâûõ  ðåãèñòðîâ
  133. âòîðîãî  ïëåéôèëäà  â  öâåòîâîé òàáëèöå. Ýòî íåîáõîäèìî, ïîñêîëüêó â ðåæèìå DPF
  134. êàæäûé ïëåéôèëä ìîæåò èìåòü äî 4 áèòïëàíîâ.
  135.  
  136. Äîáàâëåíà  âîçìîæíîñòü  äóáëèðîâàíèÿ  ñòðîê  äëÿ  áèòïëàíîâ  è  ñïðàéòîâ.   Ýòî
  137. ïðåäíàçíà÷åíî  äëÿ  òîãî,  ÷òîáû  ýêðàíû  15KHz ìîãëè ïðàâèëüíî îòîáðàæàòüñÿ íà
  138. ìîíèòîðàõ 31KHz è ñîâìåñòíî èñïîëüçîâàòü äèñïëåé ñ ýêðàíàìè 31KHz.
  139.  
  140. Áèò BSCAN2 â ðåãèñòðå FMODE âêëþ÷àåò äóáëèðîâàíèå ñòðîê áèòïëàíîâ. Êîãäà áèò V0
  141. ðåãèñòðà  DIWSTRT  ñîîòâåòñòâóåò  áèòó V0 âåðòèêàëüíîãî ñ÷åò÷èêà ëó÷åé, BPL1MOD
  142. ñîäåðæèò  ìîäóëü  äëÿ  ñòðîêè  èçîáðàæåíèÿ,  èíà÷å  èñïîëüçóåòñÿ  BPL2MOD.  Ïðè
  143. âêëþ÷åííîì  äóáëèðîâàíèè ñòðîê íå÷åòíûå è ÷åòíûå áèòïëàíû èñïîëüçóþò îäèí è òîò
  144. æå ìîäóëü íà äàííîé ñòðîêå,  â  òî  âðåìÿ  êàê  â  íîðìàëüíîì  ðåæèìå  íå÷åòíûå
  145. áèòïëàíû èñïîëüçóþò BPL1MOD, à ÷åòíûå áèòïëàíû èñïîëüçóþò BPL2MOD. Â ðåçóëüòàòå
  146. DPF ýêðàíû áóäóò îòîáðàæàòüñÿ íåïðàâèëüíî ïðè âêëþ÷åííîì óäâîåíèè ëèíèé.
  147.  
  148.                                     <U>Ñïðàéòû</U>
  149.  
  150. Ðàñøèðåííàÿ ïîääåðæêà ñïðàéòîâ - èõ ðàçðåøåíèå ìîæåò  áûòü  lores,  hires,  èëè
  151. super-hires,  íåçàâèñèìî  îò  ðàçðåøåíèÿ  ýêðàíà.  Îáúåäèíåííûå  ñïðàéòû òåïåðü
  152. äîñòóïíû â âñåõ ðåæèìàõ. Îäíàêî, íåêîòîðûå íîâûå ðåæèìû ñ áîëåå âûñîêîé øèðèíîé
  153. ïîëîñû  ÷àñòîò  ìîãóò  òîëüêî  îñòàâëÿòü îäèí ñïðàéò. Íå÷åòíûå è ÷åòíûå ñïðàéòû
  154. ìîãóò èñïîëüçîâàòü íåçàâèñèìûå 16 öâåòíûå áàíêè öâåòîâ èç òàáëèöû  256  öâåòîâ.
  155. Ñïðàéòû  ñòàðîãî  ôîðìàòà  èìåëè  øèðèíó 16 áèò, à ñïðàéòû íîâîãî ôîðìàòà ìîãóò
  156. èìåòü øèðèíó 32 èëè 64 áèò. Ñïðàéòû ìîãóò îïöèîíàëüíî  ïîÿâëÿòüñÿ  â  áîðäþðíîé
  157. îáëàñòè. Ãîðèçîíòàëüíîå ðàçðåøåíèå ïðè ïîçèöèîíèðîâàíèè ñïðàéòîâ óâåëè÷èëàñü äî
  158. 35ns (ýêâèâàëåíòíî øèðèíå super-hires ïèêñåëÿ.)
  159.  
  160. Áèòû SPAGEM è SPR32 â ðåãèñòðå FMODE çàäàþò ðàçìåð  çàãðóçêè  ðåãèñòðîâ  äàííûõ
  161. ñïðàéòîâ  îò  SPR0DATA  (B)  äî  SPR7DATA (B). Âîçìîæíûå çíà÷åíèÿ 16,32, èëè 64
  162. áèòà,  àíàëîãè÷íî  áèòïëàíàì.  BPLCON3  ñîäåðæèò  íåñêîëüêî  áèò,   óïðàâëÿþùèõ
  163. ïîâåäåíèåì   ñïðàéòîâ.  SPRES1  è  SPRES0  óïðàâëÿþò  ðàçðåøàþùåé  ñïîñîáíîñòüþ
  164. ñïðàéòà, ñîîòâåòñòâóþò ëè îíè ñòàíäàðòó ECS èëè íåïîñðåäñòâåííî óñòàòàâëèâàåòñÿ
  165. LORES,  HIRES,  èëè  SHRES.  BRDRSPRT,  êîãäà  âêëþ÷åí, ïîçâîëÿåò ñïðàéòàì áûòü
  166. âèäèìûìè íà áîðäþðå. ESPRM7 - ESPRM4 ñîäåðæàí íîìåð áàíêà äëÿ ÷åòíûõ  ñïðàéòîâ,
  167. à  OSPRM7  -  OSPRM4  äëÿ íå÷åòíûõ. Â ñëó÷àå îáúåäèíåííûõ ñïðàéòîâ èñïîëüçóþòñÿ
  168. áèòû OSPRM.
  169.  
  170. Áèò SSCAN2 â ðåãèñòðå FMODE âêëþ÷àåò äóáëèðîâàíèå ñòðîê ñïðàéòîâ. Âî âêëþ÷åííîì
  171. ñîñòîÿíèè,   îòäåëüíûå   áèòû  SH10  â  ðåãèñòðàõ  SPRxPOS  ñîäåðæàò  çíà÷åíèå,
  172. ïîêàçûâàþùåå äîëæíû ëè ñòðîêè äàííîãî ñïðàéòà áûòü ïðîäóáëèðîâàííûìè. Êîãäà áèò
  173. V0  ðåãèñòðà  SPRxPOS  ñîîòâåòñòâóåò  áèòó V0 âåðòèêàëüíîãî ñ÷åò÷èêà ëó÷åé, DMA
  174. ñïðàéòà ðàáîòàåò êàê è ðàíüøå, à  åñëè  íå  ñîîòâåòñòâóåò,  òîãäà  DMA  ñïðàéòà
  175. îòêëþ÷àåòñÿ  è LISA ìíîãîêðàòíî èñïîëüçóåò äàííûå ñïðàéòà èç ïðåäûäóùåé ñòðîêè.
  176. Êîãäà ñòðîêè ñïðàéòà ïðîäóáëèðîâàíû, ïðîãðàììèñòó  íåîáõîäèìî  èçìåíèòü  òîëüêî
  177. êîîðäèíàòû è óïðàâëÿþøèå ðåãèñòðû, ðåãèñòðû äàííûõ íå íóæäàþòñÿ â ìîäèôèêàöèè.
  178.  
  179. ÏÐÈÌÅ×ÀÍÈÅ:
  180.  
  181. Íà÷àëî è êîíåö ñïðàéòà ïî âåðòèêàëè äîëæíû èìåòü îäíó è òó  æå  ÷åòíîñòü  -  òî
  182. åñòü îáà íå÷åòíûé èëè îáà ÷åòíûå.
  183.  
  184.                                  <U>Ñîâìåñòèìîñòü</U>
  185.  
  186. ECS ñîâìåñòèìîñòü - Íîâûå ÷èïû ïðè âêëþ÷åíèè ïèòàíèÿ çàïóñêàþòñÿ â ðåæèìå  ECS,
  187. ÷òî ïîçâîëÿåò ñòàðûì ñàìîçàãðóæàþùèìñÿ ïðîãðàììàì âûïîëíÿòüñÿ íà íîâûõ ìàøèíàõ.
  188. Ýòî âûïîëíåíî ñ ïîìîùüþ $dff1fc FMODE: $0003 = 64-õ áèòíàÿ AGA âûáîðêà, $0000 =
  189. ECS ñîâìåñòèìàÿ âûáîðêà (16 áèò). Ïðè èñïîëüçîâàíèè 4õ èëè 8ìè áèòîâûõ çíà÷åíèé
  190. R/G/B, ìàñøòàáèðóéòå âàøè çíà÷åíèÿ äî 32 áèò äóáëèðóÿ 8ìè  áèòîâûå  çíà÷åíèÿ  â
  191. âñåõ  4  áàéòàõ  32  áèòîâîãî  ÷èñëà.  Ïðè ìàñøòàáèðîâàíèè 4õ áèòîâûõ çíà÷åíèé,
  192. äóáëèðóéòå ýòè 4 áèòà â âñåõ ïîëóáàéòàõ. Íàïðèìåð: 8ìè áèòíîå çíà÷åíèå êðàñíîãî
  193. $1F  ñòàíîâèòñÿ  ðàâíûì  $1F1F1F1F,  à 4õ áèòîâîå çíà÷åíèå $3 ñòàíîâèòñÿ ðàâíûì
  194. $33333333;
  195.  
  196. Äîáàâèëñÿ âõîä RST, êîòîðûé ñáðàñûâàåò âñå áèòû íîâûõ  ðåãèñòðîâ  äëÿ  ECS  èëè
  197. LISA: BPLCON3, BPLCON4, CLXCON2, DIWHIGH, FMODE.
  198.  
  199. Áèò ECSENA (ïðåæäå ENBPLCN3) èñïîëüçóåòñÿ äëÿ îòêëþ÷åíèÿ íåêîòîðûõ áèò ðåãèñòðà
  200. BPLCON3,  êîòîðûå  òðåáóþò  èñõîäíîãî  ñîñòîÿíèÿ  äëÿ ñîõðàíåíèÿ ñîâìåñòèìîñòè.
  201. ECSENA âûêëþ÷àåò ñëåäóþùèå  áèòû:  BRDRBLNK,  BRDNTRAN,  ZDCLKEN,  EXTBLKEN,  è
  202. BRDRSPRT.
  203.  
  204. CLXCON2 ñáðàñûâàåòñÿ ïðè çàïèñè â  CLXCON,  ïîýòîìó  ñòàðûå  èãðîâûå  ïðîãðàììû
  205. áóäóò ïðàâèëüíî îáðàáàòûâàòü ñòîëêíîâåíèÿ îáúåêòîâ.
  206.  
  207. DIWHIGH ñáðàñûâàåòñÿ ïðè çàïèñè â DIWSTRT èëè DIWSTOP. Ýòà âçàèìíàÿ  áëîêèðîâêà
  208. óíàñëåäîâàíà èç ECS Denise.
  209.  
  210.                                      <U>Ãåíëîê</U>
  211.  
  212. Áîëüøîå êîëè÷åñòâî íîâûõ âîçìîæíîñòåé äîáàâèëèñü ê  ECS  DENISE  è  îñòàëèñü  â
  213. LISA.   ZDBPEN   â   BPLCON2   ëþáîìó   áèòïëàíó,   âûáðàííîìó  â  ZDBPSEL2,1,0
  214. èñïîëüçîâàòüñÿ â êà÷åñòâå ìàñêè ïðîçðà÷íîñòè (ñîäåðæàíèå  âåâîäîâ  ZD  îòðàæàåò
  215. âûáðàííûé  áèòïëàí).  ZDCTEN  îòêëþ÷àåò  ñòàðûé  ðåæèì  ïðîçðà÷íîñòè öâåò00, è
  216. ïîçâîëÿåò ÷òî  èñïîëüçîâàòü  áèò31  êàæäîãî  öâåòà  â  ïàëèòðå  äëÿ  óïðàâëåíèÿ
  217. ïðîçðà÷íîñòüþ.  ZDCLKEN  ãåíåðèðóåò ñèãíàë ÷àñòîòîé 14MHz, ñèíõðîíèçèðîâàííûé ñ
  218. âèäåîäàííûìè êîòîðûé ìîæåò èñïîëüçîâàòüñÿ âèäåî  ïîñòïðîöåññîðàìè.  È  íàêîíåö,
  219. BRDNTRAN  â  BPLCON3  ãåíåðèðóåò  íåïðîçðà÷íóþ áîðäþðíóþ îáëàñòü, êîòîðàÿ ìîæåò
  220. èñïîëüçîâàòüñÿ êàê ðàìêà äëÿ æèâîãî âèäåî.
  221.  
  222.                                     <U>Ïàëèòðà</U>
  223.  
  224. Öâåòîâûå ðåãèñòðû âûðîñëè îò 32-õ 13-òè áèòíûõ ðåãèñòðîâ äî 256-òè 25-òè áèòíûõ
  225. (8  áèò ÊÐÀÑÍÛÉ, 8 - ÇÅËÅÍÛÉ, 8 - ÑÈÍÈÉ, ïëþñ 1 áèò äëÿ Ãåíëîêà). Ýòî ïîçâîëÿåò
  226. èçîáðàæàòü äî 256 îòäåëüíûõ öâåòîâ â âñåõ  ðàçðåøåíèÿõ.  Ïàëèòðà  â  16,777,216
  227. öâåòîâ  äîñòóïíà  â  âñåõ  ðàçðåøåíèÿõ. Ê ðåãèñòðó BLPCON3 äîáàâèëèñü íåñêîëüêî
  228. íîâûõ áèòîâ äëÿ îáåñïå÷åíèÿ çàãðóçêè öâåòîâûõ ðåãèñòðîâ. Áèò LOCT âûáèðàåò  MSB
  229. èëè  LSB  (Ñòàðøóþ  èëè ìëàäøóþ ïîëîâèíêó ðåãèñòðà). Äëÿ ñîâìåñòèìîñòè çàãðóçêà
  230. MSB âñåãäà çàãðóæàåò LSB, ò.å.  äëÿ  çàãðóçêè  24  áèòîâîãî  öâåòà  LSB  äîëæåí
  231. çàãðóæàòüñÿ  ïîñëå  MSB.  BANK2,1,0  âûáèðàåò îäèí èç 8 áàíêîâ àäðåñîâ öâåòîâûõ
  232. ðåãèñòðîâ (ïî 32 ðåãèñòðà) ñëåäóþùèì îáðàçîì:
  233.  
  234.  BANK2 | BANK1 | BANK0 |   ÈÍÒÅÐÂÀË ÖÂÅÒÎÂ
  235. --------------------------------------------
  236.    0   |   0   |   0   |  öâåò00 - öâåò1F
  237.    0   |   0   |   1   |  öâåò20 - öâåò3F
  238.    0   |   1   |   0   |  öâåò40 - öâåò5F
  239.    0   |   1   |   1   |  öâåò60 - öâåò7F
  240.    1   |   0   |   0   |  öâåò80 - öâåò9F
  241.    1   |   0   |   1   |  öâåòA0 - öâåòBF
  242.    1   |   1   |   0   |  öâåòC0 - öâåòDF
  243.    1   |   1   |   1   |  öâåòE0 - öâåòFF
  244.  
  245. Áèò RDRAM áèò â ðåãèñòðå BPLCON2 çàñòàâëÿåò LISA èíòåðïðåòèðîâàòü âñå îáðàùåíèÿ
  246. ê öâåòîâûì ðåãèñòðàì êàê ÷òåíèå.
  247.  
  248. Âàæíîå çàìå÷àíèå îòíîñèòåëüíî ×ÈÑËÀ ÖÂÅÒÎÂ:  Ñòàðûé  IFF  êîä  (è  äàæå  ðàííèå
  249. âåðñèè  NewIFF)  íå  áóäåò  çàãðóæàòü áîëåå 32 öâåòîâûõ ðåãèñòðîâ. Íîâûå âåðñèè
  250. áûëè ìîäèôèöèðîâàíû. Òåïåðü âåðõíÿÿ ãðàíèöà  êîëè÷åñòâà  öâåòîâ  áàçèðóåòñÿ  íà
  251. öâåòMap->Count  â  ViewPort  .  Óäàëèòå  ñòàðûå  îãðàíè÷åíèÿ  íà 32 ðåãèñòðà è
  252. óñòàíîâèòå íîâîå îãðàíè÷åíèå íà öâåòMap->Count.
  253.  
  254.                                   <U>Ñòîëêíîâåíèÿ</U>
  255.  
  256. Íîâûé ðåãèñòð CLXCON2 ñîäåðæèò 4 íîâûõ áèòà. ENBP7 è ENBP8  -  áèòû  ðàçðåøåíèÿ
  257. îïðåäåëåíèÿ ñòîëêíîâåíèé äëÿ áèòïëàíîâ 7 è 8, ñîîòâåòñòâåííî. Àíàëîãè÷íî, MVBP7
  258. è MPBP8 - áèòû çíà÷åíèÿ ñòîëêíîâåíèÿ. CLXDAT íåèçìåíåí.
  259.  
  260.                            <U>Ãîðèçîíòàëüíûå Êîìïàðàòîðû</U>
  261.  
  262. Âñå  ïðîãðàììèðóåìûå  êîìïàðàòîðû  çà  èñêëþ÷åíèåì  VHPOSW  èìåþò   ðàçðåøàþùóþ
  263. ñïîñîáíîñòü  35nSec:  DIWHIGH,  HBSTOP,  SPRCTL,  BPLCON1.  BPLCON1 òàêæå èìååò
  264. äîïîëíèòåëüíûå  ñòàðøèå   áèòû.   Îáðàòèòå   Âíèìàíèå   ÷òî   áèòîâàÿ   ïîçèöèÿ
  265. ïðåäñòàâëÿþùàÿ  ãîðèçîíòàëüíîå  ðàçðåøåíèå  140  nSec èçìåíèëàñü íà 3-é ìëàäøèé
  266. áèò. Íàïðèìåð, áèò 00 â BPLCON1 íàçûâàëñÿ PF1H0, à òåïåðü íàçûâàåòñÿ PF1H2.
  267.  
  268.                            <U>Ïðèâåäåíèå 15KHz ê 31KHz:</U>
  269.  
  270. Ê LISA äîáàâëåíû âîçìîæíîñòè äëÿ òîãî, ÷òîáû ïðàâèëüíî èçîáðàæàòü âìåñòå ýêðàíû
  271. 15KHz  è 31KHz íà ìîíèòîðå ñ ÷àñòîòîé 31KHz. LISA ìîæåò ãëîáàëüíî óñòàíàâëèâàòü
  272. ðàçðåøåíèå ñïðàéòîâ â LORES, HIRES  èëè  SHRES.  Ïðè  äóáëèðîâàíèè  ñòðîê  LISA
  273. èãíîðèðóåò  áèò  SH10  â  ðåãèñòðå  SPRxPOS,  èñïîëüçóÿ åãî äëÿ èíäèâèäóàëüíîãî
  274. óïðàâëåíèÿ äóáëèðîâàíèåì ñòðîê ñïðàéòîâ.
  275.  
  276.                            <U>Íîâûå ýêðàííûå ðåæèìû AGA</U>
  277.  
  278. Ðåæèì Áèòïëàíîâ Öâåòîâ       Øèðèíà âûáîðêè (Ñì. ïðèìå÷àíèå 1)
  279. ----- --------- ------       ---------------------------------
  280. LORES (320x200)
  281.         6   64 (íå HAM, íå EHB)          1 (Óñòàíîâèòå KillEHB!)
  282.         7   128                          1
  283.         8   256                          1
  284.         8   HAM 256,000+(ñì ïðèì. 2)     1
  285.  
  286. Dual playfield: Ìàêñèìóì 4 áèòïëàíà íà ïëåéôèëä, 16  öâåòîâ  íà  ïëåéôèëä.  Äëÿ
  287. êàæäîãî ïëåéôèëäà íîæåò âûáèðàòüñÿ áàíê â 16 öâåòîâ èç ïàëèòðû â 256 öâåòîâ.
  288.  
  289. HIRES (640x200)
  290.         5   32                           2
  291.         6   EHB 64 (ñì ïðèì. 3)          2
  292.         6   HAM 4096 (ñì ïðèì. 4)        2
  293.         6   64  (óñòàíîâ. killEHB)       2
  294.         7   128                          2
  295.         8   256                          2
  296.         8   HAM 256,000+(ñì ïðèì. 2)     2
  297.  
  298. Dual playfield: Ìàêñèìóì 4 áèòïëàíà íà ïëåéôèëä, 16  öâåòîâ  íà  ïëåéôèëä.  Äëÿ
  299. êàæäîãî ïëåéôèëäà íîæåò âûáèðàòüñÿ áàíê â 16 öâåòîâ èç ïàëèòðû â 256 öâåòîâ.
  300.  
  301. SUPERHIRES (1280x200)
  302.         1   2 (ñì ïðèì. 5)               1
  303.         2   4 (ñì ïðèì. 5)               1
  304.         3   8                            2
  305.         4   16                           2
  306.         5   32                           4
  307.         6   EHB 64 (ñì ïðèì. 3)          4
  308.         6   HAM 4096 (ñì ïðèì. 4)        4
  309.         6   64  (óñòàíîâ. KillEHB)       4
  310.         7   128                          4
  311.         8   256                          4
  312.         8   HAM 256,000+(ñì ïðèì. 2)     4
  313.  
  314. Dual playfield: Ìàêñèìóì 4 áèòïëàíà íà ïëåéôèëä, 16  öâåòîâ  íà  ïëåéôèëä.  Äëÿ
  315. êàæäîãî ïëåéôèëäà íîæåò âûáèðàòüñÿ áàíê â 16 öâåòîâ èç ïàëèòðû â 256 öâåòîâ.
  316.  
  317. VGA  (160,320,640x480 íå èíòåðë. 31Khz - íóæåí VGA èëè ìóëüòèñèíê ìîíèòîð)
  318.  
  319.         1   2 (ñì ïðèì. 5)               1
  320.         2   4 (ñì ïðèì. 5)               1
  321.         3   8                            2
  322.         4   16                           2
  323.         5   32                           4
  324.         6   EHB 64 (ñì ïðèì. 3)          4
  325.         6   HAM 4096 (ñì ïðèì. 4)        4
  326.         6   64  (óñòàíîâ. KillEHB)       4
  327.         7   128                          4
  328.         8   256                          4
  329.         8   HAM 256,000+(ñì ïðèì. 2)     4
  330.  
  331. Dual playfield: Ìàêñèìóì 4 áèòïëàíà íà ïëåéôèëä, 16  öâåòîâ  íà  ïëåéôèëä.  Äëÿ
  332. êàæäîãî ïëåéôèëäà íîæåò âûáèðàòüñÿ áàíê â 16 öâåòîâ èç ïàëèòðû â 256 öâåòîâ.
  333.  
  334. Super 72 (848x614 èíòåðëåéñ, êàäðîâàÿ ÷àñòîòà 70 Hz)
  335.  
  336.         1   2 êàê ECS, íî áåç ðàçìàç. öâåòîâ 1
  337.         2   4 êàê ECS, íî áåç ðàçìàç. öâåòîâ 1
  338.         3   8 öâåòîâ                         2
  339.         4   16 öâåòîâ                        2
  340.         5   32 öâåòîâ                        4
  341.         6   64 öâåòîâ (óñòàíîâ. KillEHB)     4
  342.         7   128 öâåòîâ                       4
  343.         8   256 öâåòîâ                       4
  344.         6   EHB 32 * 2 öâåòîâ                4
  345.         6   HAM 4O96 öâåòîâ                  4
  346.         8   HAM ëþáîé èç 2^24 öâåòîâ         4
  347.  
  348. Dual playfield: Ìàêñèìóì 4 áèòïëàíà íà ïëåéôèëä, 16  öâåòîâ  íà  ïëåéôèëä.  Äëÿ
  349. êàæäîãî ïëåéôèëäà íîæåò âûáèðàòüñÿ áàíê â 16 öâåòîâ èç ïàëèòðû â 256 öâåòîâ.
  350.  
  351. Ñêðîëëèðîâàíèå âñåõ ïëåéôèëäîâ - òåïåðü ñ øàãîì 35ns. Ðàíåå øàã áûë 140ns.
  352.  
  353. Äèàïàçîíû ñêðîëëèðîâàíèÿ, ïðîãðàììèðóåìûå â BPLCON1
  354.  
  355.      +-----------+----------------+----------------+
  356.      | Ðåæèìû 1X | LORES Ïèêñåëåé | SHRES Ïèêñåëåé |
  357.      +-----------+----------------+----------------+
  358.      | LORES     | 0-15           | 0-63           |
  359.      | HIRES     | 0-7            | 0-31           |
  360.      | SHRES     | 0-3            | 0-15           |
  361.      +-----------+----------------+----------------+
  362.  
  363.      +-----------+----------------+----------------+
  364.      | Ðåæèìû 2X | LORES Ïèêñåëåé | SHRES Ïèêñåëåé |
  365.      +-----------+----------------+----------------+
  366.      | LORES     | 0-31           | 0-127          |
  367.      | HIRES     | 0-15           | 0-63           |
  368.      | SHRES     | 0-7            | 0-31           |
  369.      +-----------+----------------+----------------+
  370.  
  371.      +-----------+----------------+----------------+
  372.      | Ðåæèìû 4X | LORES Ïèêñåëåé | SHRES Ïèêñåëåé |
  373.      +-----------+----------------+----------------+
  374.      | LORES     | 0-63           | 0-255          |
  375.      | HIRES     | 0-31           | 0-127          |
  376.      | SHRES     | 0-15           | 0-63           |
  377.      +-----------+----------------+----------------+
  378.  
  379.  
  380. Ïðèìå÷àíèÿ:
  381.  
  382. 1 - Øèðèíà âûáîðêè çàäàåò øèðèíó âûáîðêè  äàííûõ  èç  ïàìÿòè,  íåîáõîäèìóþ  äëÿ
  383. îïðåäåëåííîãî  ýêðàííîãî  ðåæèìà.  Íàïðèìåð,  VGA ýêðàí, ãëóáèíîé 5 áèò òðåáóåò
  384. ðåæèìà 4x, à VGA ýêðàí, ãëóáèíîé 1 áèò  -  ðåæèìà  1x.  Ðåæèì  4õ  îáåñïå÷èâàåò
  385. ïåðåäà÷ó  äàííûõ  â  4 ðàçà áûñòðåå, ÷åì 1õ. Äëÿ îáåñïå÷åíèÿ ïðàâèëüíîé âûáîðêè
  386. äàííûõ ñòàðøèå ðåæèìû âûáîðêè òðåáóþò ïðàâèëüíîãî âûðàâíèâàíèÿ äàííûõ â ïàìÿòè.
  387. Ðåæèì 1õ òðåáóåò âûðàâíèâàíèÿ ïî ãðàíèöàì ñëîâ, ðåæèìû 2õ - ïî ãðàíèöàì äëèííûõ
  388. ñëîâ, à ðåæèìû 4õ - ïî ãðàíèöàì êâàäðî ñëîâ èëè, ãîâîðÿ èíûìè ñëîâàìè - ïî  16,
  389. 32  èëè  64  áèòà.  Ïîäîáíûå  òðåáîâàíèÿ  - ëó÷øèé ïîâîä èñïîëüçîâàòü ñèñòåìíûå
  390. ôóíêöèè çàõâàòà ïàìÿòè. Îäíàêî íå ãàðàíòèðóåòñÿ ÷òî âñå ìàøèíû,  èìåþùèå  íîâûé
  391. ÷èïñåò   èìåþò   äîñòàòî÷íî   áûñòðóþ  ïàìÿòü,  ÷òîáû  îáåñïå÷èâàòü  ðåèìû  4x.
  392. Ñëåäîâàòåëüíî, åäèíñòâåíûé ñïîñîá óçíàòü, áóäåò ëè ìàøèíà  ïîääåðæèâàòü  äàííûé
  393. ðåæèì - ýòî ïðîâåðèòü Ýêðàííóþ Áàçó Äàííûõ.
  394.  
  395. * BANDWIDTH 1: MOVE.W   #0,$DFF1FC
  396. * BANDWIDTH 2: MOVE.W   #2,$DFF1FC  ;Áèòìàï, âûðîâíåíûé ïî 32 áèòàì è
  397.                     ;MODULO = MODULO-4
  398. * BANDWIDTH 4: MOVE.W   #3,$DFF1FC  ;Áèòìàï, âûðîâíåíûé ïî 64 áèòàì è
  399.                     ;MODULO = MODULO-8
  400.  
  401. Ýòà òàáëèöà ïîêàçûâàåò òîëüêî ìèíèìàëüíî òðåáóþùèéñÿ ðåæèì âûáîðêè äëÿ  êàæäîãî
  402. ýêðàííîãî ðåæèìà.
  403.  
  404. Âû äîëæíû âñåãäà ïûòàòüñÿ óñòàíàâëèâàòü ìàêñèìàëüíî øèðîêóþ  âûáîðêó  åñëè  ýòî
  405. âîçìîæíî.
  406.  
  407. 2 - Íîâûé 8-ìè áèòîâåé ðåæèì HAM èñïîëüçóåò âåðõíèå 6 áèò óêàçàíàÿ íà  îäèí  èç
  408. 64  áàçîâûõ 24õ áèòíûõ ðåãèñòðîâ èëè êàê 6òè áèòíîå çíà÷åíèå èçìåíåíèÿ òåêóùåãî
  409. çíà÷åíèÿ, à ìëàäøèå 2 áèòà èñïîëüçóþòñÿ êàê êîìàíäà.  Â  ýòîì  ðåæèìå  âîçìîæíî
  410. îäíîâðåìåííîå  èçîáðàæåíèå  áîëåå  256,000  öâåòîâ  (à  åñëè  íà ýêðàíå èìååòñÿ
  411. äîñòàòî÷íîå êîëè÷åñòâî ïèêñåëåé, òî  è  äî  16.8  ìèëëèîíîâ  öâåòîâ).  Îáðàòèòå
  412. âíèìàíèå íà òî, ÷òî õîòÿ ðåãèñòðîâûå è óïðàâëÿþùèå áèòïëàíû ïîìåíÿëèñü ìåñòàìè,
  413. (Óïðàâëÿþùèå  áèòû  òåïåðü  ìëàäøèå,  à  íå  ñòàðøèå),  ïðîãðàììû  èñïîëüçóþùèå
  414. graphics.library  è  intuition.library  íå  äîëæíû  îáðàùàòü  íà  ýòî âíèìàíèå,
  415. ïîñêîëüêó âñå ýòî îáðàáàòûâàåòñÿ àâòîìàòè÷åñêè.
  416.  
  417. 3 - Ýòîò ðåæèì ïîäîáåí ñòàðîìó ðåæèìó EHB, íî â íîâûõ ðàçðåøåíèÿõ.  Ýòîò  ðåæèì
  418. èñïîëüçóåò  5  áèòïëàíîâ  äëÿ  ïîëó÷åíèÿ  32 öâåòîâ, ïëþñ øåñòîé áèòïëàí äëÿ 32
  419. öâåòîâ ñ ïîëîâèííîé ÿðêîñòüþ.
  420.  
  421. 4 - Ýòîò  ðåæèì  ïîäîáåí  ñòàðîìó  ðåæèìó  HAM,  íî  â  íîâûõ  ðàçðåøåíèÿõ.  Îí
  422. èñïîëüçóåò  ìëàäøèå  4  áèòà  äëÿ  óêàçàíèÿ  16 öâåòîâûõ ðåãèñòðîâ èëè çíà÷åíèÿ
  423. èçìåíåíèÿ è  ñòàðøèå  2  áèòà  êîìàíäû.  Â  ýòîì  ðåæèìå  äîñòóïíî  èõîáðàæåíèÿ
  424. îäíîâðåìåííî 4096 öâåòîâ.
  425.  
  426. 5 - Ýòè ðåæèìû - â îòëè÷èå îò ñòàðûõ ðåæèìîâ VGA  è  SUPERHIRES  íå  îãðàíè÷åíû
  427. íåñòàíäàðòíîé 64õ öâåòíîé ïàëèòðîé.
  428.  
  429. *******************************************************************************
  430.  
  431.                                   <U>Ôîðìàò HAM-8</U>
  432.  
  433. Ham-8 èñïîëüçóåò *íèæíèå* äâà áèòà â êà÷åñòâå êîìàíäû  (âûáîð  íîâîãî  ðåãèñòðà
  434. èëè  èçìåíåíèå  Êðàñíîé, Çåëåíîé èëè Ñèíåé êîìïîíåíò, êàê è â ñòàíäàðòå HAM), è
  435. *âåðõíèå* 6 áèò ( ïëàíû 2 - 7 ) êàê íîìåð  ðåãèñòðà  (0  -  63),  èëè  êàê  6òè
  436. áèòîâîå  çíà÷åíèå  hold-and-modify  äëÿ  èçìåíåíèÿ  âåðõíèõ  6  áèò 8ìè áèòíîãî
  437. öâåòîâîãî çíà÷åíèÿ.
  438.  
  439. Ñàìûå ìëàäøèå äâà áèòà öâåòîâîãî çíà÷åíèÿ  íå  èçìåíÿþòñÿ,  òàê  ÷òî  íà÷àëüíàÿ
  440. ïàëèòðà  äîëæíà  âûáèðàòüñÿ îñòîðîæíî (íàïðèìåð, èñïîëüçóÿ AdPro èëè ÷òî-íèáóäü
  441. åùå, ÷òî äåëàåò ýòî ëó÷øå)
  442.  
  443.  
  444.                           <U>Ïðîãðàììèðîâàíèå AGA ÷èïñåòà</U>
  445.  
  446. Ïðîãðàììà îáíàðóæåíèÿ ÷èïñåòà AGA
  447.  
  448. Ýòà ïðîãðàììà  ïîçâîëÿåò  îáíàðóæèòü  íàëè÷èå  ÷èïñåòà  AGA  íà  101  %...  (Çà
  449. ïîñëåäíèé  ïðîöåíò  ñïàñèáî  DDT/HBT).  Ýòà ïðîãðàììà áóäåò îáíàðóæèâàòü AGA íà
  450. áóäóùèõ ìîäèôèöèêàöèÿõ AGA ìàøèí. Âçàìåí ñîçäàíèå CMPI.B $f8,$dff07c.)  íà  òåõ
  451. íîâûõ AGA ìàøèíàõ òîëüêî ñòàðûé ÷èïñåò áóäåò îáíàðóæåí !!!!
  452.  
  453. AGA DETECT ROUTINE:
  454.  
  455. This is my AGA detect routine 101%... (thanx to DDT/HBT for  the  last  1%)  It
  456. will  detect  AGA  on  the future updated AGA machines. Instead making a CMPI.B
  457. #$f8,$dff07c on that new AGA machines only old chipset will be detected!!!!
  458.  
  459.     LEA $DFF000,A5
  460.     MOVE.W  $7C(A5),D0  ; Ïðîâåðêà DeniseID èëè LisaID íà AGA
  461.     MOVEQ   #30,D2      ; Ïðîâåðÿåì 30 ðàç (íà ñòàðîé denise ñëó÷àéíîé ÷èñëî)
  462.     ANDI.W  #%000000011111111,d0    ; òîëüêî ìëàäøèé áàéò
  463. DENLOOP:
  464.     MOVE.W  $7C(A5),D1  ; Denise ID (LisaID íà AGA)
  465.     ANDI.W  #%000000011111111,d1    ; òîëüêî ìëàäøèé áàéò
  466.     CMP.B   d0,d1       ; òàêîå-æå çíà÷åèíå?
  467.     BNE.S   NOTAGA      ; íåò, çíà÷èò OCS Denise!
  468.     DBRA    D2,DENLOOP  ;
  469.     ORI.B   #%11110000,D0   ; ìàñêèðóåì âåðñèþ AGA
  470.     CMPI.B  #%11111000,D0   ; áèò 3=AGA (ýòîò áèò áóäåò =0 â AAA!)
  471.     BNE.S   NOTAGA      ; AGA ïðèñóòñòâóåò?
  472.     ST.B    AGA         ; Óñòàíàâëèâàåì  AGA ôëàã.
  473. NOTAGA:             ; íå AGA, íî âîçìîæíî AAA ÷èïñåò!
  474.  
  475. Ìíå ïîòðåáîâàëîñü èñïðàâèòü áîëüøå 3 AGA äåìîê, êîòîðûå íà ìîåé À4000 ãîâîðèëè:
  476. YOU   NEED   AN   AGA   MACHINE   (!!)...   ýòè   äåìêè:   NOP   1/muffbusters,
  477. RedNexRevivalIntro (ñ ïëîõèì òåñòîì ïðîöåññîðà) è äðóãèå..
  478.  
  479. ***************************************************************************
  480. Äëÿ òîãî, ÷òîáû ñäåëàòü äåìî äëÿ îáû÷íîé Àìèãè ðàáîòîñïîñîáíûì íà ÷èïñåòå AGA
  481. âñòàâüòå ñëåäóþùèå ñòðî÷êè â Âàø êîïïåðëèñò:
  482.  
  483.     dc.w    $106,$c00   ;Âûêëþ÷åíèå AGA ñïðàéòîâ, ïàëèòðû è DPF
  484.     dc.w    $1FC,0      ;Âûêëþ÷åíèå AGA âûáîðêè äëÿ ñïðàéòîâ è áèòïëàíîâ.
  485.  
  486. È íå çàáóäüòå óñòàíàâëèâàòü çíà÷åíèÿ BPL1MOD($108), BPL2MOD($10a), DIWSTRT($8e)
  487. è DIWSTOP($90), èíà÷å Âû áóäåòå ïîëó÷àòü çíà÷åíèÿ, èñïîëüçóåìûå â WB.
  488.  
  489. *******************************************************************************
  490.  
  491. Áèòïëàíû:
  492.  
  493. Îò 0 äî  7 áèòïëàíîâ óñòàíàâëèâàþòñÿ êàê è ïðåæäå â ðåãèñòðå BPLCON0 ($dff100).
  494.  
  495. Âîñåìü áèòïëàíîâ óñòàíàâëèâàþòñÿ óñòàíîâêîé áèòà 4 ðåãèñòðà BPLCON0, áèòû 12-14
  496. äîëæíû áûòü 0
  497.  
  498. Äëÿ Hires ïðè 8 áèòïëàíàõ íå çàáóäüòå óñòàíîâèòü áèòû  0  è  1  ðåãèñòðà  FMODE
  499. ($dff1fc)
  500.  
  501. 8 áèòïëàíîâ:
  502.  
  503. ×èñëî  èñïîëüçóåìûõ  áèòïëàíîâ  îïðåäåëÿåòñÿ  áèòàìè  12-14  ðåãèñòðà  BPLCON0.
  504. Ïîñêîëüêó  äëÿ  ýòîé  öåëè  èìååòñÿ  âñåãî  3 áèòà íåâîçìîæíî áûëî èñïîëüçîâàòü
  505. áîëüøå 7 áèòïëàíîâ. Äëÿ èñïîëüçîâàíèÿ 8 áèòïëàíîâ ââåäåí ñïåöèàëüíûé áèò - áèò
  506. 4. Ïðè åãî èñïîëüçîâàíèè íå çàáóäüòå îáíóëèòü áèòû 12-14 äëÿ áóäóùåé
  507. ñîâìåñòèìîñòè :)
  508.  
  509.  
  510. áèò 4 | 8 áèòïëàíîâ
  511. ------------------------
  512.   0   | íå âûáðàíî
  513. ------------------------
  514.   1   | âûáðàíî
  515. ------------------------
  516.  
  517. Èñïîëüçîâàíèå 64õ-öâåòíîãî ðåæèìà (íå EHB) òðåáóåò óñòàíîâêè áèòà KILLEHB  (áèò
  518. 9) â ðåãèñòðå BPLCON2
  519.  
  520. Ãëàäêèé Ñêðîëëèíã
  521.  
  522.  
  523. Ê ðåãèñòðó BPLCON1  äîáàâëåíû  äîïîëíèòåëüíûå  áèòû,  ïîçâîëÿþùèå  îñóùåñòâëÿòü
  524. áîëåå ïðàâíûé ñêðîëëèíã áîëüøåé îáëàñòè.
  525.  
  526. Áèòû 8 (PF1H0) è 9 (PF1H1) -  íîâûå  áèòû  ïðîêðóòêè  âûñîêîãî  ðàçðåøåíèÿ  äëÿ
  527. ïåðâîãî  ïëåéôèëäà,  à  áèòû  12  (PF2H0) è 13 (PF2H1) - íîâûå áèòû äëÿ âòîðîãî
  528. ïëåéôèëäà.
  529.  
  530. Åùå ïî äâà áèòà äîáàâëåíû ê êàæäîìó  ïëåéôèëäó  äëÿ  îáåñïå÷åíèÿ  ìàêñèìàëüíîãî
  531. ðàññòîÿíèÿ  ñêðîëëèðîâàíèÿ,  ðàâíîãî  64  ïèêñåëÿì  íèçêîãî  ðàçðåøåíèÿ èëè 256
  532. ïèêñåëÿì â SHires (âìåñòî 16 ïèêñåëåé íèçêîãî ðàçðåøåíèÿ) Ýòî áèòû 10 (PF1H6) è
  533. 11  (PF1H7)  äëÿ  ïåðâîãî  ïëåéôèëäà è áèòû 14 (PF2H6) è 15 (PF2H7) äëÿ âòîðîãî
  534. ïëåéôèëäà.
  535.  
  536. Îáû÷íûé ðåæèì îñòàåòñÿ ðàáîòîñïîñîáåí, à äëÿ âêëþ÷åíèÿ íîâûõ âîçìîæíîñòåé êðîìå
  537. óñòàíîâêè íîâûõ áèò íåîáõîäèìî èñïîëüçîâàòü øèðèíó âûáîðêè 2õ èëè 4õ.
  538.  
  539. *******************************************************************************
  540. Öâåòîâûå Ðåãèñòðû:
  541.  
  542. Òåïåðü  èìåþòñÿ  256  öâåòîâûõ  ðåãèñòðîâ,  äîñòóï  ê  êîòîðûì   îñóùåñòâëÿåòñÿ
  543. ïîñðåäñòâîì ñòàðûõ 32 ðåãèñòðîâ.
  544.  
  545. AGA ðàáîòàåò ñ 8  ðàçëè÷íûìè  ïàëèòðàìè  ïî  32  öâåòà  â  êàæäîé,  ìíîãîêðàòíî
  546. èñïîëüçóÿ öâåòîâûå ðåãèñòðû öâåò00 - öâåò31 ($0180 - $01BE).
  547.  
  548. Òåêóùàÿ ïàëèòðà âûáèðàåòñÿ èñïîëüçóÿ áèòû BANK0-BANK2 (13-15) ðåãèñòðà  BPLCON3
  549. ($0106)
  550.  
  551. áèò 15 | áèò 14 | áèò 13 | Âûáðàííàÿ ïàëèòðà
  552. -------+--------+--------+------------------------------
  553.    0   |    0   |    0   | Ïàëèòðà 0 (öâåòà 0 - 31)
  554.    0   |    0   |    1   | Ïàëèòðà 0 (öâåòà 32 - 63)
  555.    0   |    1   |    0   | Ïàëèòðà 0 (öâåòà 64 - 95)
  556.    0   |    1   |    1   | Ïàëèòðà 0 (öâåòà 96 - 127)
  557.    1   |    0   |    0   | Ïàëèòðà 0 (öâåòà 128 - 159)
  558.    1   |    0   |    1   | Ïàëèòðà 0 (öâåòà 160 - 191)
  559.    1   |    1   |    0   | Ïàëèòðà 0 (öâåòà 192 - 223)
  560.    1   |    1   |    1   | Ïàëèòðà 0 (öâåòà 224 - 255)
  561. *******************************************************************************
  562.  
  563. ×òîáû çàïèñàòü 24-õ áèòíîå çíà÷åíèå â öâåòîâîé ðåãèñòð òðåáóåòñÿ äâå  çàïèñè  â
  564. ðåãèñòðû:
  565.  
  566. - Ñíà÷àëà î÷èñòèòå áèò 9 (LOCT) ðåãèñòðà BPLCON3 ($dff106).
  567. - Çàïèøèòå ñòàðøèå ïîëóáàéòû êàæäîãî öâåòà â öâåòîâûå ðåãèñòðû.
  568. - Çàòåì óñòàíîâèòå áèò 9 (LOCT) ðåãèñòðà BPLCON3 ($dff106).
  569. - Çàïèøèòå ìëàäøèå ïîëóáàéòû êàæäîãî öâåòà â öâåòîâûå ðåãèñòðû.
  570.  
  571.  
  572. áèò 9 | Äîñòóï ê:
  573. ------------------------------
  574.   0   | 4 ñòàðøèì áèòàì R,G,B
  575. ------------------------------
  576.   1   | 4 ìëàäøèì áèòàì R,G,B
  577. ------------------------------
  578.  
  579. Âû äîëæíû ñîáëþäàòü ïîðÿäîê çàïèñè: ñíà÷àëà çàïèñûâàåì 3 *  4  ÑÒÀÐØÈÕ  ÁÈÒ,  à
  580. çàòåì 3 * 4 ÌËÀÄØÈÕ ÁÈÒ!
  581.  
  582. Íàïðèìåð, ÷òîáû çàìåíèòü íóëåâîé öâåò íà öâåò $123456
  583.  
  584.    $01060000 dc.l
  585.    $01800135 dc.l
  586.    $01060200 dc.l
  587.    $01800246 dc.l
  588.  
  589. Åñëè âû èñïîëüçóåòå öâåòà 12-òè áèòíûé  öâåò,  ðàññìàòðèâàþòñÿ  òîëüêî  ñòàðøèå
  590. áèòû êàæäîé èç öâåòîâûõ êîìïîíåíò (RGB).
  591.  
  592.     ÏÐÈÌÅРÊÎÏÏÅÐËÈÑÒÀ ÄËß AGA
  593.  
  594.  
  595.     DC.W    $106,$c00   ;Âûáèðàåì ïàëèòðó 0 (0-31), ñòàðøèå ïîëóáàéòû
  596. COLP0:
  597.     DC.W    $180,$000,$182,$000,$184,$000,$186,$000 ;Ñòàðøèå ïîëóáàéòû
  598.     DC.W    $188,$000,$18A,$000,$18C,$000,$18E,$000 ;öâåòîâ 0-31
  599.     DC.W    $190,$000,$192,$000,$194,$000,$196,$000 ;
  600.     DC.W    $198,$000,$19A,$000,$19C,$000,$19E,$000 ;
  601.     DC.W    $1A0,$000,$1A2,$000,$1A4,$000,$1A6,$000
  602.     DC.W    $1A8,$000,$1AA,$000,$1AC,$000,$1AE,$000
  603.     DC.W    $1B0,$000,$1B2,$000,$1B4,$000,$1B6,$000
  604.     DC.W    $1B8,$000,$1BA,$000,$1BC,$000,$1BE,$000
  605.  
  606.     DC.W    $106,$e00   ;Âûáèðàåì ïàëèòðó 0 (0-31), ìëàäøèå ïîëóáàéòû
  607. COLP0B:
  608.     DC.W    $180,$000,$182,$000,$184,$000,$186,$000 ;Ìëàäøèå ïîëóáàéòû
  609.     DC.W    $188,$000,$18A,$000,$18C,$000,$18E,$000 ;öâåòîâ 0-31
  610.     DC.W    $190,$000,$192,$000,$194,$000,$196,$000 ;
  611.     DC.W    $198,$000,$19A,$000,$19C,$000,$19E,$000 ;
  612.     DC.W    $1A0,$000,$1A2,$000,$1A4,$000,$1A6,$000
  613.     DC.W    $1A8,$000,$1AA,$000,$1AC,$000,$1AE,$000
  614.     DC.W    $1B0,$000,$1B2,$000,$1B4,$000,$1B6,$000
  615.     DC.W    $1B8,$000,$1BA,$000,$1BC,$000,$1BE,$000
  616.  
  617.     DC.W    $106,$2C00  ;Âûáèðàåì ïàëèòðó 1 (31-63), ñòàðøèå ïîëóáàéòû
  618. COLP1:
  619.     DC.W    $180,$000,$182,$000.... è ò.ä.
  620.  
  621.     DC.W    $106,$2E00  ;Âûáèðàåì ïàëèòðó 1 (31-63), ìëàäøèå ïîëóáàéòû
  622. COLP1B:
  623.     DC.W    $180,$000,$182,$000.... è ò.ä.
  624.  
  625.     DC.W    $106,$4C00  ;Âûáèðàåì ïàëèòðó 2 (64-95), ñòàðøèå ïîëóáàéòû
  626. COLP2:
  627.     DC.W    $180,$000,$182,$000.... è ò.ä.
  628.  
  629.     DC.W    $106,$4E00  ;Âûáèðàåì ïàëèòðó 2 (64-95), ìëàäøèå ïîëóáàéòû
  630. COLP2B:
  631.     DC.W    $180,$000,$182,$000.... è ò.ä.
  632.  
  633.     DC.W    $106,$6C00  ;Âûáèðàåì ïàëèòðó 3 (96-127), ñòàðøèå ïîëóáàéòû
  634. COLP3:
  635.     DC.W    $180,$000,$182,$000.... è ò.ä.
  636.  
  637.     DC.W    $106,$6E00  ;Âûáèðàåì ïàëèòðó 3 (96-127), ìëàäøèå ïîëóáàéòû
  638. COLP3B:
  639.     DC.W    $180,$000,$182,$000.... è ò.ä.
  640.  
  641.     DC.W    $106,$8C00  ;Âûáèðàåì ïàëèòðó 4 (128-159), ñòàðøèå ïîëóáàéòû
  642. COLP4:
  643.     DC.W    $180,$000,$182,$000.... è ò.ä.
  644.  
  645.     DC.W    $106,$8E00  ;Âûáèðàåì ïàëèòðó 4 (128-159), ìëàäøèå ïîëóáàéòû
  646. COLP4B:
  647.     DC.W    $180,$000,$182,$000.... è ò.ä.
  648.  
  649.     DC.W    $106,$AC00  ;Âûáèðàåì ïàëèòðó 5 (160-191), ñòàðøèå ïîëóáàéòû
  650. COLP5:
  651.     DC.W    $180,$000,$182,$000.... è ò.ä.
  652.  
  653.     DC.W    $106,$AE00  ;Âûáèðàåì ïàëèòðó 5 (160-191), ìëàäøèå ïîëóáàéòû
  654. COLP5B:
  655.     DC.W    $180,$000,$182,$000.... è ò.ä.
  656.  
  657.     DC.W    $106,$CC00  ;Âûáèðàåì ïàëèòðó 6 (192-223), ñòàðøèå ïîëóáàéòû
  658. COLP6:
  659.     DC.W    $180,$000,$182,$000.... è ò.ä.
  660.  
  661.     DC.W    $106,$CE00  ;Âûáèðàåì ïàëèòðó 6 (192-223), ìëàäøèå ïîëóáàéòû
  662. COLP6B:
  663.     DC.W    $180,$000,$182,$000.... è ò.ä.
  664.  
  665.     DC.W    $106,$EC00  ;Âûáèðàåì ïàëèòðó 7 (224-255), ñòàðøèå ïîëóáàéòû
  666. COLP7:
  667.     DC.W    $180,$000,$182,$000.... è ò.ä.
  668.  
  669.     DC.W    $106,$EE00  ;Âûáèðàåì ïàëèòðó 7 (224-255), ìëàäøèå ïîëóáàéòû
  670. COLP7B:
  671.     DC.W    $180,$000,$182,$000.... è ò.ä.
  672.  
  673. *******************************************************************************
  674.  
  675. Bplmod: Â AGA ðåæèìàõ ìîäóëü îáû÷íî òàêîé-æå, êàê è â íîðìàëüíîì  ðåæèìå  ìèíóñ
  676. 8.  Òàê,  åñëè  îáû÷íûé  ìîäóëü  =  0,  òî agamodulo = -8. (Åñëè âû èñïîëüçóåòå
  677. FMODE=3!), åñëè âû èñïîëüçóåòå FMODE =2, òîãäà ìîäóëü = -4 .
  678.  
  679. *******************************************************************************
  680.  
  681. Ñïðàéòû:
  682.  
  683. Ðàçðåøåíèå ñïðàéòà èçìåíÿåòñÿ èñïîëüçîâàíèåì áèò  7  è  6  (SPRES0-1)  ðåãèñòðà
  684. $0106 (BPLCON3)
  685.  
  686. Áèò 7 | áèò 6 | Ðàçðåøtybt
  687. ------+-------+-----------
  688.   0   |   0   | ECS ïî óìîë÷àíèþ (Lo-res/Hi-res = 140ns, Superhires = 70ns)
  689.   0   |   1   | Âñåãäà lowres           (140ns)
  690.   1   |   0   | Âñåãäà hireres          (70ns)
  691.   1   |   1   | Âñåãäà superhires       (35ns)
  692. --------------------------
  693.  
  694. (70ns ñïðàéòû íå ìîãóò áûòü äîñòóïíû åñëè áèò lace â BPLCON0 íå óñòàíîâëåí )
  695.  
  696. *******************************************************************************
  697.  
  698. Äëÿ óñòàíîâêè øèðèíû ñïðàéòîâ, ðàâíîé 32 è 64 áèòà èñïîëüçóþòñÿ áèòû 3 (SPAGEM)
  699. è  2(SPR32)  ðåãèñòðà  $01FC(FMODE).  Ôîðìàò  ñïðàéòà  (â ÷àñòíîñòè óïðàâëÿþùèå
  700. ñëîâà) ðàçëè÷åí äëÿ êàæäîé øèðèíû.
  701.  
  702. Áèò 3 | áèò 2 | Øèðèíà      | Óïðàâëÿþùèå Ñëîâà
  703. ------+-------+-------------+------------------------------------------
  704.   0  |   0    | 16 ïèêñåëåé | 2 ñëîâà (íîðìàëüíûå)
  705.   1  |   0    | 32 ïèêñåëÿ  | 2 äëèííûõ ñëîâà
  706.   0  |   1    | 32 ïèêñåëÿ  | 2 äëèííûõ ñëîâà
  707.   1  |   1    | 64 ïèêñåëÿ  | 2 äâîéíûõ äëèííûõ ñëîâà (4 äëèííûõ ñëîâà)
  708. -----------------------------------------------------------------------
  709.  
  710. Áîëåå øèðîêèå ñïðàéòû íå äîñòóïíû íè êàêèì îáðàçîì. Copper ÷èòàåò ñïðàéò  ëèñòû
  711. ïî ðàçíîìó, â çàâèñèìîñòè îò øèðèíû âàøåãî ñïðàéòà.
  712.  
  713. Àäðåñ ñïðàéòà, øèðèíîé 16 ïèêñåëåé äîëæåí áûòü êðàòåí 2
  714. Àäðåñ ñïðàéòà, øèðèíîé 32 ïèêñåëåé äîëæåí áûòü êðàòåí 4
  715. Àäðåñ ñïðàéòà, øèðèíîé 64 ïèêñåëåé äîëæåí áûòü êðàòåí 16
  716.  
  717. ×òåíèå óïðàâëÿþøèõ ñëîâ ñïðàéòà, øèðèíîé 16 ïèêñåëåé
  718.  
  719. ñëîâî C1, ñëîâî C2
  720. ñëîâî A1, ñëîâî B1
  721. .
  722. .
  723. .
  724. ñëîâî An, ñëîâî Bn
  725. $0000 0000
  726.  
  727. C1=ïåðâîå óïðàâëÿþùåå ñëîâî
  728. C2=âòîðîå óïðàâëÿþùåå ñëîâî
  729.  
  730. Ai è Bi îáúåäèíÿÿñü ïî OR ôîðìèðóþò èçîáðàæåíèå ñïðàéòà.
  731.  
  732. ×òåíèå óïðàâëÿþøèõ ñëîâ ñïðàéòà, øèðèíîé 32 ïèêñåëÿ
  733.  
  734.     CNOP    0,8     ;âûðàâíèâàåì ïî 64 áèòàì
  735.  
  736. SPRITE32:           ;Ïðèìåð AGA ñïðàéòà, øèðèíîé 32 ïèêñåëÿ
  737. VSTART:
  738.     dc.b 0      ;äëèííîå C1
  739. HSTART:
  740.     DC.b 0
  741.     DC.W 0
  742. VSTOP:
  743.     DC.b 0,0    ;äëèííîå C2
  744.     dc.w 0
  745.  dc.L %00000000000000111100000000000000,%0000000000001000000000000000000;sprite
  746.  dc.L %00000000000011111111000000000000,%0000000000010111100000000000000
  747. äëèííîå ñëîâî A3, äëèííîå ñëîâî B3
  748. .
  749. .
  750. .
  751. äëèííîå ñëîâî An, äëèííîå ñëîâî Bn
  752.     DC.W    0,0,0,0     ;êîíåö âïðàéòà
  753.  
  754. C1=ïåðâîå óïðàâëÿþùåå äëèííîå ñëîâî
  755.  
  756.    Ïåðâîå óïðàâëÿþùåå ñëîâî ñîäåðæèòñÿ â ñòàðøåì ñëîâå  C1.  Ìëàäøåå  ñëîâî  C1
  757.    äîëæíî ñîäåðæàòü âòîðîå óïðàâëÿþùåå ñëîâî.
  758.  
  759. C2=âòîðîå óïðàâëÿþùåå äëèííîå ñëîâî
  760.  
  761.    Âòîðîå óïðàâëÿþùåå ñëîâî ñîäåðæèòñÿ â ñòàðøåì ñëîâå  C2.  Ìëàäøåå  ñëîâî  C2
  762.    äîëæíî áûòü ðàâíî $0000
  763.  
  764. Îáùèé ïîðÿäîê ðàñïîëîæåíèÿ óïðàâëÿþùèõ ñëîâ:
  765. Ñ1 Ñ2 Ñ2 00
  766.  
  767. Ai è Bi îáúåäèíÿÿñü ïî OR ôîðìèðóþò èçîáðàæåíèå ñïðàéòà.
  768.  
  769. ×òåíèå óïðàâëÿþøèõ ñëîâ ñïðàéòà, øèðèíîé 64 ïèêñåëÿ
  770.  
  771.     CNOP    0,8     ;âûðàâíèâàåì ïî 64 áèòàì
  772.  
  773. SPRITE64:           ;Ïðèìåð AGA ñïðàéòà, øèðèíîé 32 ïèêñåëÿ
  774. VSTART:
  775.     DC.B    0       ;äâîéíîå äëèííîå ñëîâî C1
  776. HSTART:
  777.     DC.B    0
  778.     DC.W    0
  779.     DC.L    0
  780. VSTOP:
  781.     DC.B    0,0     ;äâîéíîå äëèííîå ñëîâî C2
  782.     DC.W    0
  783.     DC.L    0
  784. äâîéíîå äëèííîå ñëîâî A1, äâîéíîå äëèííîå ñëîâî B1
  785. .
  786. .
  787. .
  788. äâîéíîå äëèííîå ñëîâî An, äâîéíîå äëèííîå ñëîâî Bn
  789.     DC.W    0,0,0,0,0,0,0,0 ;êîíåö ñïðàéòà
  790.  
  791. C1=ïåðâîå óïðàâëÿþùåå äâîéíîå äëèííîå ñëîâî
  792.    C1=W3:W2:W1:W0 (Wi=ñëîâà)
  793.    W3 ïåðâîå óïðàâëÿþùåå ñëîâî
  794.    W2 è W1 âòîðîå óïðàâëÿþùåå ñëîâî
  795. C2=âòîðîå óïðàâëÿþùåå äâîéíîå äëèííîå ñëîâî
  796.    C2=W3:W2:W1:W0 (Wi=ñëîâà)
  797.    W3 is âòîðîå óïðàâëÿþùåå ñëîâî
  798.  
  799. Îáùèé ïîðÿäîê ðàñïîëîæåíèÿ óïðàâëÿþùèõ ñëîâ:
  800. Ñ1 Ñ2 Ñ2 00 Ñ2 00 00 00
  801.  
  802. Ai è Bi îáúåäèíÿÿñü ïî OR ôîðìèðóþò èçîáðàæåíèå ñïðàéòà.
  803.  
  804. ***************************************************************************
  805.  
  806. Ïåðåìåùåíèå ñïðàéòîâ ñ òî÷íîñòüþ 1/4 ïèêñåëÿ:
  807.  
  808. Èñïîëüçóéòå áèòû 3 è 4 âòîðîãî ñëîâà óïðàâëÿþùåãî ñëîâà ñïðàéòà  äëÿ  óñòàíîâêè
  809. ïîçèöèè ìïðàéòà ñ òî÷íîñòüþ 1/4 lowres ïèêñåëÿ (êàæäûé ïèêñåëü â SuperHires ):
  810.  
  811.  Áèò 0 âòîðîãî óïðàâëÿþùåãî ñëîâà = áèò 2 ãîðèçîíòàëüíîé ïîçèöèè.
  812.  Áèò 3 âòîðîãî óïðàâëÿþùåãî ñëîâà = áèò 0 ãîðèçîíòàëüíîé ïîçèöèè.
  813.  Áèò 4 âòîðîãî óïðàâëÿþùåãî ñëîâà = áèò 1 ãîðèçîíòàëüíîé ïîçèöèè.
  814.  
  815. Ïîçèöèÿ ñïðàéòà òåïåðü çàêîäèðîâàíà 11 áèòàìè.
  816.  
  817. ***************************************************************************
  818.  
  819. Èçìåíåíèå ïàëèòðû ñïðàéòîâ:
  820.  
  821. Âñå ñïðàéòû èñïîëüçóþò äëÿ  èçîáðàæåíèÿ  îäíó  16  öâåòíóþ  ïàëèòðó.  Ðåçóëüòàò
  822. ïîëó÷àåòñÿ ñëåäóþùèé:
  823.  
  824. Ñïðàéòû |  Öâåòà
  825. ------------------
  826.    0-1  |  00-03
  827.    2-3  |  04-07
  828.    4-5  |  08-11
  829.    6-7  |  12-15
  830. ------------------
  831.  
  832. Ðàíüøå  âû  ìîãëè  èñïîëüçîâàòü  òîëüêî  ÎÄÍÓ  ïàëèòðó  äëÿ  âñåõ  èçîáðàæàåìûõ
  833. ñïðàéòîâ.  Ýòà ïàëèòðà ðàñïîëàãàëàñü â öâåòîâûõ ðåãèñòðàõ 15 ê öâåòó 31. Òåïåðü
  834. âû ìîæåòå èçîáðàæàòü íå÷åòíûå è ÷åòíûå ñïðàéòû â ðàçíûõ ïàëèòðàõ.
  835.  
  836. Ïîñêîëüêó äîñòóïíî 256 öâåòîâ, ýòî äàåò 16 ïàëèòð ïî 16  öâåòîâ  â  êàæäîé.  Âû
  837. ìîæåòå  âûáðàòü  ïàëèòðó, êîòîðàÿ áóäåò èñïîëüçîâàòüñÿ äëÿ èçîáðàæåíèÿ íå÷åòíûõ
  838. ñïðàéòîâ è êîòîðàÿ áóäåò èñïîëüçîâàòüñÿ äëÿ èçîáðàæåíèÿ ÷åòíûõ ñïðàéòîâ. Öâåòà,
  839. èñïîëüçóåìûå ñïðàéòàìè â 16 öâåòíîé ïàëèòðå òàêèå-æå êàê îáû÷íî:
  840.  
  841. Ñïðàéòû |            Öâåòà
  842. -----------------------------------------
  843.    0    | 00-03 ïàëèòðû ÷åòíûõ ñïðàéòîâ
  844.    2    | 04-07 ïàëèòðû ÷åòíûõ ñïðàéòîâ
  845.    4    | 08-11 ïàëèòðû ÷åòíûõ ñïðàéòîâ
  846.    6    | 12-15 ïàëèòðû ÷åòíûõ ñïðàéòîâ
  847. -----------------------------------------
  848.    1    | 00-03 ïàëèòðû íå÷åòíûõ ñïðàéòîâ
  849.    3    | 04-07 ïàëèòðû íå÷åòíûõ ñïðàéòîâ
  850.    5    | 08-11 ïàëèòðû íå÷åòíûõ ñïðàéòîâ
  851.    7    | 12-15 ïàëèòðû íå÷åòíûõ ñïðàéòîâ
  852. -----------------------------------------
  853.  
  854. Áèòû 4 - 7 (ESPRM) ðåãèñòðà BPLCON4 ($DFF010C) èñïîëüçóþòñÿ äëÿ âûáîðà ïàëèòðû,
  855. èñïîëüçóåìîé  äëÿ  èçîáðàæåíèÿ  ÷åòíûõ  ñïðàéòîâ,  áèòû  0 - 3 (OSPRM) ðåãèñòðà
  856. BPLCON4  ($DFF010C)  èñïîëüçóþòñÿ  äëÿ   âûáîðà   ïàëèòðû,   èñïîëüçóåìîé   äëÿ
  857. èçîáðàæåíèÿ íå÷åòíûõ ñïðàéòîâ,
  858.  
  859. áèò 3 | áèò 2 | áèò 1 | áèò 0 | Íå÷åòíûå ñïðàéòû
  860. áèò 7 | áèò 6 | áèò 5 | áèò 4 | ×åòíûå ñïðàéòû
  861. ------+-------+-------+-------+------------------------------------------
  862.   0   |   0   |   0   |   0   | $0180/ïàëèòðà 0 (öâåò 0)
  863.   0   |   0   |   0   |   1   | $01A0/ïàëèòðà 0 (öâåò 15)
  864.   0   |   0   |   1   |   0   | $0180/ïàëèòðà 1 (öâåò 31)
  865.   0   |   0   |   1   |   1   | $01A0/ïàëèòðà 1 (öâåò 47)
  866.   0   |   1   |   0   |   0   | $0180/ïàëèòðà 2 (öâåò 63)
  867.   0   |   1   |   0   |   1   | $01A0/ïàëèòðà 2 (öâåò 79)
  868.   0   |   1   |   1   |   0   | $0180/ïàëèòðà 3 (öâåò 95)
  869.   0   |   1   |   1   |   1   | $01A0/ïàëèòðà 3 (öâåò 111)
  870.   1   |   0   |   0   |   0   | $0180/ïàëèòðà 4 (öâåò 127)
  871.   1   |   0   |   0   |   1   | $01A0/ïàëèòðà 4 (öâåò 143)
  872.   1   |   0   |   1   |   0   | $0180/ïàëèòðà 5 (öâåò 159)
  873.   1   |   0   |   1   |   1   | $01A0/ïàëèòðà 5 (öâåò 175)
  874.   1   |   1   |   0   |   0   | $0180/ïàëèòðà 6 (öâåò 191)
  875.   1   |   1   |   0   |   1   | $01A0/ïàëèòðà 6 (öâåò 207)
  876.   1   |   1   |   1   |   0   | $0180/ïàëèòðà 7 (öâåò 223)
  877.   1   |   1   |   1   |   1   | $01A0/ïàëèòðà 7 (öâåò 239)
  878. -------------------------------------------------------------------------
  879.  
  880.            ********************  ÝÒΠ ÂÀÆÍΠ ************************
  881.  
  882. Áèòïëàíû, ñïðàéòû è êîïïåðëèñòû äîëæíû áûòü â íåêîòîðûõ  ñëó÷àÿõ  âûðîâíåíû  ïî
  883. ãðàíèöàì  64  áèò. Íàïðèìåð äëÿ òîãî, ÷òîáû èñïîëüçîâàòü 64õ áèòíóþ âûáîðêó èëè
  884. 64õ áèòíûé ñêðîëëèíã áèòïëàíîâ.
  885.  
  886. Ýòî òàêæå ïîäíèìàåò  äðóãóþ  ïðîáëåìó.  Âû  áîëüøå  íå  ìîæåòå  íåïîñðåäñòâåííî
  887. èñïîëüçîâàòü AllocMem() äëÿ âûäåëåíèÿ ïàìÿòè äëÿ áèòïëàíîâ èëè ñïðàéòîâ.
  888.  
  889. Ìîæíî  äåëàòü  òàê:  èñïîëüçóÿ  AllocMem  (ðàçìåð_áèòïëàíîâ  +  8)  è  âû÷èñëÿÿ
  890. êîëè÷åñòâî  áàéò, êîòîðûå íóæíî ïðîïóñòèòü â íà÷àëå, ÷òîáû äàòü âûðàâíèâàíèå ïî
  891. 64 áèòàì (íå çàáûâéòå î òîì, ÷òî ðàçìåð áèòïëàíà ìîæåò áûòü íå êðàòåì 64 áèòàì,
  892. ïîýòîìó  âûäåëÿéòå ïàìÿòü äëÿ êàæäîãî áèòïëàíà îòäåëüíî èëè óäîñòîâåðüòåñü, ÷òî
  893. ðàçìåð áèòïëàíà êðàòåí 64 áèòàì). Äðóãîé ïóòü - ýòî èñïîëüçîâàíèå íîâîé ôóíêöèè
  894. V39 AllocBitMap(). Òðåòèé ïóòü - ýòî íåïîñðåäñòâåííîå âûðàâíèâàíèå â èñõîäíîì
  895. òåêñòå ïðîãðàììû. Íàïðèìåð:
  896.  
  897.       CNOP  0,8
  898. sprite   incbin "myspritedata"
  899.  
  900.       CNOP  0,8
  901. áèòplane incbin "myáèòplane"
  902.  
  903. è ò.ä.
  904.  
  905. ÅÑËÈ ÂÛ ÇÀÁÛËÈ ÂÛÐÀÂÍßÒÜ ÏΠ64 ÁÈÒÀÌ, ÈÇÎÁÐÀÆÅÍÈÅ ÁÓÄÅÒ ÏÎßÂËßÒÜÑß ÎÁÐÅÇÀÍÍÎÅ.
  906.  
  907. Îáùàÿ îøèáêà - óêàçàòåëè íà  íåæåëàòåëüíûå  ñïðàéòû  óêàçûâàþùèå  íà  $0.  Åñëè
  908. äëèííîå  ñëîâî  ïî  ýòîìó àäðåñó íå ðàâíî íóëþ, âû ïîëó÷èòå íåñêîëüêî ïðåêðàñíî
  909. ñìîòðÿùèõñÿ ñïðàéòîâ â ñàìûõ íåïðåäñêàçóåìûõ ìåñòàõ.
  910.  
  911. Ïðàâèëüíûé ñïîñîá èçáàâëåíèÿ îò ñïðàéòîâ ñîñòoèò  â  òîì,  ÷òîáû  óêàçûâàòü  íà
  912. àäðåñ  êîòîðûé  íàâåðíÿêà  ñîäåðæèò  -  $00000000.)  (0.l),  à  ñ AGA âû ìîæåòå
  913. óêàçûâàòü íà ×ÅÒÛÐÅ äëèííûõ ñëîâà, ðàâíûõ 0, âûðîâíåííûõ ïî 64 áèòàì.
  914.  
  915. ***************************************************************************
  916.  
  917.                         ÈÑÏÎËÜÇÎÂÀÍÈÅ ÐÅÆÈÌÀ SUPERHIRES
  918.  
  919. ×òîáû èñïîëüçîâàòü ðåæèì SuperHires (Øèðèíîé 1280 ïèêñåëåé), ïðîñòî âêëþ÷èòå
  920. áèò 6 (SHRES) èç ðåãèñòðà BPLCON0 ($0100)
  921.  
  922. áèò 6 | Ðåæèì SuperHires
  923. ------------------------
  924.   0   | Âûêëþ÷åí
  925.   1   | Âêëþ÷åí
  926. ------------------------
  927.  
  928. ***************************************************************************
  929.                               ÏÅÐÅÊËÞ×ÅÍÈÅ ÏÀËÈÒÐÛ
  930.  
  931. Âû ìîæåòå ïåðåêëþ÷àòü öâåòà â ïàëèòðå. Îïåðàöèÿ ïåðåêëþ÷åíèÿ ìåæäó öâåòîì A è B
  932. îïðåäåëÿåòñÿ ñëåäóþùèì îáðàçîì:
  933.  
  934. - Ñîäåðæàíèå öâåòîâûõ ðåãèñòðîâ íå èçìåíÿþòñÿ
  935.  
  936. - Âñå, ÷òî èçîáðàæàëîñü öâåòîì A òåïåðü  èçîáðàæàåòñÿ  öâåòîì  B,  è  âñå,  ÷òî
  937. èçîáðàæàëîñë öâåòîì B òåïåðü èçîáðàæàåòñÿ ñ öâåòîì À
  938.  
  939. Äëÿ ïåðåêëþ÷åíèÿ èñïîëüçóþòñÿ áèòû 8-15 (BPLAM) ðåãèñòðà BPLCON4 ($DFF10C):
  940.  
  941.  Áèò          15 14 13 12 11 10 09 08
  942.  Èìÿ          S7 S6 S5 S4 S3 S2 S1 S0
  943.  
  944. Ïðè âêëþ÷åíèè áèòà Sn, æåëåçî íà÷èíàåò äåéñòâîâàòü ñëåäóþùèì îáðàçîì:
  945.  
  946. - Ãðóïïà èç 2^n öâåòîâ, íà÷èíàÿ îò öâåòà 00 äî öâåòà (2^n)-1 ìåíÿåòñÿ ìåñòàìè ñ
  947. ãðóïïîé èç 2^n öâåòîâ, íà÷èíàÿ îò öâåòà 2^n äî öâåòà 2^n+(2^n)-1
  948.  
  949. - Ãðóïïà èç 2^n öâåòîâ, íà÷èíàÿ îò öâåòà 2*2^n äî öâåòà 2*2^n+(2^n)-1  ìåíÿåòñÿ
  950. ìåñòàìè ñ ãðóïïîé èç 2^n öâåòîâ îò öâåòà 3*2^n äî öâåòà 3*2^n+(2^n)-1
  951.  
  952.  - ...
  953.  
  954. Îïåðàöèÿ çàêàí÷èâàåòñÿ, ïðè äîñòèæåíèè êîíöà 256 öâåòíîé ïàëèòðû.
  955.  
  956. Íàïðèìåð:
  957.  
  958.    Âûáðàí áèò Sn=1. Íà ðèñóíêå ïîêàçàíî, ÷òî ïðåäñòàâëÿåò ñîáîé  ïàëèòðà  äî  è
  959.    ïîñëå ïåðåêëþ÷åíèÿ. Êîïïåðëèñò àáñîëþòíî íå èçìåíÿåòñÿ:
  960.  
  961.           Ïåðåä      |    Ïîñëå
  962.      ---------------------------------
  963.          öâåò 00     |   öâåò 02
  964.          öâåò 01     |   öâåò 03
  965.          öâåò 02     |   öâåò 00
  966.          öâåò 03     |   öâåò 01
  967.          öâåò 04     |   öâåò 06
  968.          öâåò 05     |   öâåò 07
  969.          öâåò 06     |   öâåò 04
  970.          öâåò 07     |   öâåò 05
  971.          ...         |   ...
  972.  
  973.  ýòîì ïðèìåðå öâåòà ïîìåíÿëèñü ìåñòàìè, èñïîëüçóÿ ãðóïïû èç 2^1=2 öâåòîâ
  974.  
  975. Âû íå ìîæåòå ïåðåêëþ÷èòü ìåæäó ñîáîé äâà öâåòà. Åñëè âû èçìåíÿåòå ëþáîé áèò Sn,
  976. òî ýòî âîçäåéñòâóåò íà öåëóþ ïàëèòðó.
  977.  
  978. Îïåðàöèè ïåðåêëþ÷åíèÿ ìîãóò oáúåäèíÿòüñÿ. Åñëè âûáðàíî áîëüøå ÷åì îäèí áèò  Sn,
  979. îïåðàöèè  ïåðåêëþ÷åíèÿ  äëÿ  êàæäîãî  áèòà  áóäóò  âûïîëíÿòüñÿ ïîñëåäîâàòåëüíî,
  980. íà÷èíàÿ ñ S0.
  981.  
  982. Íàïðèìåð:
  983.  
  984.    BPLCON4 ($DFF10C) ñîäåðæèò $0500. Âëþ÷åíû áèòû S0 è S2. Ïåðâîå  ïåðåêëþ÷åíèå
  985.    èñïîëüçóåò ãðóïïû èç 2^0 öâåòîâ, à âòîðîå èç 2^2 öâåòîâ:
  986.  
  987.           Ïåðåä      |   Ïîñëå S0  |  Ïîñëå S2
  988.      ---------------------------------------------
  989.          öâåò 00     |   öâåò 01   |  öâåò 05
  990.          öâåò 01     |   öâåò 00   |  öâåò 04
  991.          öâåò 02     |   öâåò 03   |  öâåò 07
  992.          öâåò 03     |   öâåò 02   |  öâåò 06
  993.          öâåò 04     |   öâåò 05   |  öâåò 01
  994.          öâåò 05     |   öâåò 04   |  öâåò 00
  995.          öâåò 06     |   öâåò 07   |  öâåò 03
  996.          öâåò 07     |   öâåò 06   |  öâåò 02
  997.          öâåò 08     |   öâåò 09   |  öâåò 13
  998.          öâåò 09     |   öâåò 08   |  öâåò 12
  999.          öâåò 10     |   öâåò 11   |  öâåò 15
  1000.          öâåò 11     |   öâåò 10   |  öâåò 14
  1001.          öâåò 12     |   öâåò 13   |  öâåò 09
  1002.          öâåò 13     |   öâåò 12   |  öâåò 08
  1003.          öâåò 14     |   öâåò 15   |  öâåò 11
  1004.          öâåò 15     |   öâåò 14   |  öâåò 10
  1005.          ...         |   ...       |  ...
  1006.  
  1007. ***************************************************************************
  1008.  
  1009.       Ðåæèì VGA/PRODUCTIVITY 640x480 áåç èíòåðëåéñà
  1010.  
  1011. Ýòîò ðåæèì ïîääåðæèâàåòñÿ íà Àìèãå íà÷èíàÿ ñ ïåðâûõ ECS ìàøèí è òðåáóåò íàëè÷èÿ
  1012. ìóëüòèñêàí ìîíèòîðà.
  1013.  
  1014.  AGA ÷èïñåòå ýòîò ðåæèì çíà÷èòåëüíî óñîâåðøåíñòâîâàí:  òåïåðü  â  ýòîì  ðåæèìå
  1015. ìîæíî èñïîëüçîâàòü 256-òè öâåòíûå è HAM8 ýêðàíû.
  1016.  
  1017.    NTSC (525 ñòðîê, 227.5 òàêòîâ íà ñòðîêó)
  1018.    PAL  (625 ñòðîê, 227.5 òàêòîâ íà ñòðîêó)
  1019.    VGA  (525 ñòðîê, 114.0 òàêòîâ íà ñòðîêó)
  1020.  
  1021. Ïðîãðàììèðóåìàÿ ñèíõðîíèçàöèÿ îñóùåñòâëÿåòñÿ ÷åðåç 5 íîâûõ  óñîâåðøåíñòâîâàííûõ
  1022. ðåãèñòðîâ Agnus:
  1023.  
  1024.    VSSTRT    W   A     Âåðòèêàëüíàÿ ïîçèöèÿ íà÷àëà VSYNC.
  1025.    VSSTOP    W   A     Âåðòèêàëüíàÿ ïîçèöèÿ îñòàíîâêè VSYNC
  1026.    HSSTRT    W   A     Ãîðèçîíòàëüíàÿ ïîçèöèÿ íà÷àëà HSYNC.
  1027.    HSSTOP    W   A     Ãîðèçîíòàëüíàÿ ïîçèöèÿ îñòàíîâêè HSYNC
  1028.    HCENTER   W   A     Ãîðèçîíòàëüíàÿ ïîçèöèÿ Vsync ïðè èíòåðëåéñå
  1029.  
  1030. Óäîâëåòâîðèòåëüíûé ðåçóëüòèðóþùèé ñèãíàë ïîëó÷àåòñÿ ïðè  óñòàíîâêå  HCENTER  íà
  1031. ïîëîâèíó  ãîðèçîíòàëüíîé  ñòðîêè  ñ  HSSTRT,  à HBSTOP íà (HSSTOP-HSSTRT) ïåðåä
  1032. HCENTER è HBSTRT íà (HSSTOP-HSSTRT) ïåðåä HSSTRT.
  1033.  
  1034. Ïðîãðàììèðóåìûé îáðàòíûé õîä âûïîëíÿåòñÿ ÷åðåç ÷åòûðå íîâûõ ðåãèñòðà ECS Agnus:
  1035.  
  1036.    HBSTRT   W   A  Ãîðèçîíòàëüíàÿ ïîçèöèÿ íà÷àëà HBLANK
  1037.    HBSTOP   W   A   Ãîðèçîíòàëüíàÿ ïîçèöèÿ îñòàíîâà HBLANK
  1038.    VBSTRT   W   A   Âåðòèêàëüíàÿ ïîçèöèÿ íà÷àëà VBLANK
  1039.    VBSTOP   W   A   Âåðòèêàëüíàÿ ïîçèöèÿ îñòàíîâà VBLANK
  1040.  
  1041. Äëÿ òîãî, ÷òîáû ñìåíèòü ãîðèçîíòàëüíóþ ÷àñòîòó ñ 15KHz (TV, ìîíèòîð 1084) íà 31
  1042. KHz  íåîáõîäèìî  èçìåíèòü  çíà÷åíèå  ðåãèñòðà  BEAMCON0  ($dff1dc) è óñòàíîâèòü
  1043. ïðàâèëüíûå çíà÷åíèÿ â äðóãèõ ðåãèñòðàõ.
  1044. Ïðèìåð:
  1045.  
  1046.     LEA $DFF000,A0
  1047.     MOVE.W  #%0001101110001000,$1DC(A0) ;BEAMCON0
  1048.                 ;3 - Êîìïëåêñíîå ãàøåíèå íà âûõîäå CSY
  1049.                 ;7 - Âêëþ÷åíèå ïðîãðàììèðóåìîãî ñ÷åò÷èêà ëó÷à
  1050.                 ;8 - Âêëþ÷åíèå ïðîãðàììèðóåìîé ãîðèçîíòàëüíîé ñèíõðîíèçàöèè
  1051.                 ;9 - Âêëþ÷åíèå ïðîãðàììèðóåìîé âåðòèêàëüíîé ñèíõðîíèçàöèè
  1052.                 ;11- Âûêëþ÷åíèå ïåðåêëþ÷àòåëÿ ÄËÈÍÍÀß/ÊÎÐÎÒÊÀß ñòðîêà
  1053.                 ;12- Âêëþ÷åíèå ïðîãðàììèðóåìîãî îáðàòíîãî õîäà ëó÷à.
  1054.     MOVE.W  #$71,$1C0(A0)   ;HTOTAL - íàèáîëüøåå çíà÷åíèå ñ÷åò÷èêà ãîðèç. ëèíèé
  1055.     MOVE.W  #8,$1C4(A0) ;HBSTRT - Ïîçèöèÿ ãîðèç ëèíèè äëÿ HBLANK START
  1056.     MOVE.W  #14,$1DE(A0)    ;Íà÷àëî ãîðèçîíòàëüíîé ñèíõðîíèçàöèè
  1057.     MOVE.W  #$1C,$1C2(A0)   ;Ïîçèöèÿ ãîðèç ëèíèè äëÿ HSYNC STOP
  1058.     MOVE.W  #$1E,$1C6(A0)   ;Ïîçèöèÿ ãîðèç ëèíèè äëÿ HBLANK STOP
  1059.     MOVE.W  #$46,$1E2(A0)   ;Ãîðèç. ïîçèöèÿ äëÿ VSYNC ïðè èíòåðëåéñå.
  1060.     MOVE.W  #$20C,$1C8(A0)  ;VTOTAL - Íàèáîëüøåå çíà÷åíèå ñ÷åò÷èêà âåðò ëèíèé.
  1061.     MOVE.W  #0,$1CC(A0) ;Âåðòèêàëüíàÿ ëèíèÿ íà÷àëà âåðò îáðàòíîãî õîäà
  1062.     MOVE.W  #3,$1E0(A0) ;Íà÷àëî âåðò ñèíõðîíèçàöèè
  1063. ;   MOVE.W  #$200,$1E4(A0)
  1064.     MOVE.W  #$100,$1E4(A0)
  1065.     MOVE.W  #5,$1CA(A0) ;Ïîçèöèÿ âåðò ëèíèè äëÿ VSYNC STOP
  1066.     MOVE.W  #$1D,$1CE(A0)   ;Âåðò. ëèíèÿ äëÿ VBLANK STOP
  1067.     MOVE.W  #%00010010,$104(A0) ;
  1068.     MOVE.W  #%0000110000100001,$106(A0) ; 0 - Âêëþ÷åíèå âíåøíåãî ãàøåíèÿ
  1069.                         ; 5 - Ãàøåíèå áîðäþðà
  1070.                         ; 10-11 Fix AGAøíîãî äóàë-ïëåéôèëä.
  1071.     MOVE.W  #$1241,$100(A0) ;Ðåæèì VGA ñ 2 öâåòàìè
  1072. ;   MOVE.W  #$1245,$100(A0) ;Íà AGA ìàøèíå òðåáóåò áèòïëàí, 
  1073.                 ;íî çàïîìíèòå, ÷òî íàäî ïîìåñòèòü $3 â $dff1fc åñëè âàì
  1074.                 ;íàäî áîëåå 2 öâåòîâ (Ñòàðûé ECS ðåæèì)
  1075.  
  1076. Çàòåì óñòàíîâèòå óêàçàòåëü íà âàø êîïïåðëèñò. Çàïîìíèòå,  ÷òî  áèò  0  ðåãèñòðà
  1077. $dff100  äîëæåí  áûòü âêëþ÷åí äëÿ âêëþ÷åíèÿ âñåõ âîõìîæíîñòåé ECS è AGA, à åñëè
  1078. âàì íàäî áîëåå 4 öâåòîâ, âû ÄÎËÆÍÛ óñòàíîâèòü áèòû 0 è  1  ðåãèñòðà  $dff1fc  è
  1079. âûðîâíÿòü  áèòïëàíû  ïî  64ì  áèòàì. Óäà÷è âàì, è çàïîìíèòå, ÷òî âûáîð ìîíèòîðà
  1080. äîëæåí áûòü îôîðìëåí â âèäå îêíà èëè  êàêîãî-íèáóäü  äðóãîãî  ÄÐÓÆÅÑÒÂÅÍÍÎÃΠ Ê
  1081. ÑÈÑÒÅÌÅ ðåêâåñòåðà
  1082.  
  1083. Ïðèìåð êîïïåðëèñòà äëÿ AGA (ïðîâåðåíî íà À1200+VGA ìîíèòîð)
  1084.  
  1085.  COPPERLIST: ;Íå çàáóäüòå óñòàíîâèòü ñíà÷àëà ðåãèñòðû ECS !
  1086.  
  1087.     ;   Óêàçàòåëè ñïðàéòîâ
  1088.  
  1089.     dc.l    $C01FFFE
  1090.     dc.l    $1800F00
  1091. BPLP:
  1092.     dc.l    $E00000     ;Óêàçàòåëè áèòïëàíîâ
  1093.     dc.l    $E20000     ;óêàçûâàþ íà êàðòèíêó 640x480
  1094.     dc.l    $E40000     ;òàêæå, êàê â èíòåðëåéñå
  1095.     dc.l    $E60000
  1096.     dc.l    $E80000
  1097.     dc.l    $EA0000     
  1098.     dc.l    $EC0000     
  1099.     dc.l    $EE0000     
  1100.  
  1101.     DC.W    $180,0      ;ìîäóëü
  1102.     DC.W    $10A,0
  1103.  
  1104.     dc.W    $8E,$1c45   ;diwstrt
  1105.     dc.W    $90,$ffe5   ;diwstop
  1106.     dc.W    $92,$0018   ;ddfstrt
  1107.     dc.W    $94,$0068   ;ddfstop
  1108.     dc.w    $1e4,$100
  1109.  
  1110.     ;Çäåñü çàäàåòñÿ ïàëèòðà... òàêàÿ æå, êàê è íîðìàëüíàÿ ïàëèòðà íà AGA
  1111.  
  1112.     dc.w    $1fc,$8003
  1113.     DC.W    $100,$1241  ;bplcon0
  1114.  
  1115.     dc.l    $FFFFFFFE   ;êîíåö êîïïåðëèñòà
  1116.     dc.l    $FFFFFFFE
  1117.  
  1118. ***************************************************************************
  1119. Èñïîëüçîâàíèå ôóíêöèè AllocBitmap
  1120.  
  1121. allocbitap "graphics.library" V39 íîâàÿ ôóíêöèÿ äëÿ çàõâàòà áèòìàïîâ.
  1122.  
  1123. AllocbitMap -- Çàõâàòûâàåò áèòìàï è ïðèêðåïëÿåò ê íåìó áèòïëàíû. (V39)
  1124.  
  1125. bitmap=AllocbitMap(sizex,sizey,depth, flags, friend_bitmap)
  1126.           -918       d0    d1    d2     d3       a0
  1127.  
  1128. struct bitMap *AllocbitMap(ULONG,ULONG,ULONG,ULONG, struct bitMap *);
  1129.  
  1130. Çàõâàòûâàåò è èíèöèàëèçèðóåò ñòðóêòóðó  áèòìàïîâ.  Óñòàíàâëèâàåò  óêàçàòåëè  íà
  1131. ïëàíû.
  1132.  
  1133. ÍÀ ÂÕÎÄÅ:
  1134.    sizex = øèðèíà (â ïèêñåëÿõ) áèòïëàíà.
  1135.  
  1136.    sizey = âûñîòà (â ïèêñåëÿõ).
  1137.  
  1138.    depth = ãëóáèíà (÷èñëî áèòïëàíîâ äëÿ çàõâàòà)
  1139.  
  1140.    flags = BMF_CLEAR - î÷èñòêà áèòìàïà.
  1141.  
  1142.            BMF_DISPLAYABLE - áèòìàï íà AGA ìàøèíàõ ïîêàçûâàåòñÿ âî âñåõ ðåæèìàõ
  1143.  
  1144.            BMF_INTERLEAVED - èíòåðëåéâíûå áèòïëàíû.
  1145.  
  1146. friend_áèòmap  =  Óêàçàòåëü  íà  äðóãîé  áèòïëàí  èëè  NULL.   Åñëè   óêàçàòåëü
  1147. ïðèñóòñòâóåò, áèòìàï âûäåëÿåòñÿ òàê, ÷òî áëèò ìåæäó äâóìÿ áèòìàïàìè óïðîùàåòñÿ
  1148.  
  1149. Äëÿ îñâáîæäåíèÿ çàõâà÷åííîãî áèòìàïà èñïîëüçóéòå FREEbitMAP(V39)
  1150.  
  1151. FreeáèòMap -- îñâáîæäåíèå áèòìàïà, çàõâà÷åííîãî AllocbitMap
  1152.  
  1153. FreeáèòMap(bm)
  1154.   -924     a0
  1155.  
  1156. VOID FreebitMap(struct bitMap *)
  1157.  
  1158. îñâáîæäàåò áèòìàï è âñå ïðèêðåïëåííûå áèòïëàíû.
  1159.  
  1160. -------------------------------------------------------------------------------
  1161. Èçâèíèòå çà âîçìîæíûå îïå÷àòêè ïî õîäó òåêñòà, íàäåþñü, îíè íå  ñèëüíî  ïîìåøàëè
  1162. Âàì  îñâîèòü íåêîòîðûå ïðåìóäðîñòè ïðîãðàììèðîâàíèÿ AGA. Äî âñòðå÷è â ñëåäóþùåì
  1163. íîìåðå!
  1164.